%!PS % all four pages this is 43 % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster AMPM23A.PSL page 23 of archeomagnetism % Copyright c 2011 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. % Routine attempts to speed up improving a ClearScan ebook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % OLDER SERVICE ROUTINES COPIES HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% links menu directory %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below % zzzz keep for search marker % dictionary method << % entered during gg116 /ebksamp1.asp (http://www.tinaja.com/ebksamp1.asp) /tvtcb.pdf (http://www.tinaja.com/ebooks/tvtcb.pdf) /unhalf.pdf (http://www.tinaja.com/glib/unhalf.pdf) >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%% tints to replace italic fonts %%%%%%%%%%%%% /to {tinton1 font6} store /tx {tintoff font1} store /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def %%%%%%%%%%%%%%%%% new curvetrace routines %%%%%%%%%%%%%%% % (2a) improved gonzo curvetrace % . . . . . % curvetrace2 - creates a smooth curved path from a data point list. % enter with currentpoint set and absolute array. % 0 0 as initial data appends path; any other values % creates new path. A "999" angle of any intermediate points % will be replaced by a good guess. % /fixgusses replaces any intermediate point angle guess of "999" with a best % effort guess of using the tangent angle that results if you draw a circle % through the adjacent two points. /reportnewangles true store /fixguesses {/curvelist exch store 5 3 curvelist length 3 sub { /cptr exch store curvelist cptr get 360 gt { curvelist cptr 5 sub get curvelist cptr 4 sub get curvelist cptr 2 sub get curvelist cptr 1 sub get curvelist cptr 1 add get curvelist cptr 2 add get fixangle curvelist exch cptr exch put } if } for reportnewangles {curvelist == } if % return angles if desired curvelist } def % /fixangle is used by fixguess. Given three points, draw a circle through the % points, then calculate and return the tangent angle of the middle point. /fixangle { /y3 exch store /x3 exch store /y2 exch store /x2 exch store /y1 exch store /x1 exch store y2 y1 sub x2 x1 sub atan 90 sub tan /mm exch store % find first bisector x2 x1 sub 2 div x1 add /px1 exch store y2 y1 sub 2 div y1 add /py1 exch store /bb py1 px1 mm mul sub store y3 y2 sub x3 x2 sub atan 90 sub tan /nn exch store % find second bisector x3 x2 sub 2 div x2 add /px2 exch store y3 y2 sub 2 div y2 add /py2 exch store /cc py2 px2 nn mul sub store /xcen cc bb sub mm nn sub dup 0 eq {pop 0.000001} if div store % find circle /ycen xcen mm mul bb add store /rad x1 xcen sub dup mul y1 ycen sub dup mul add sqrt store % don't really need y2 ycen sub x2 xcen sub atan 90 sub % return best angle guess } def /curvetrace2 {fixguesses /curvelist exch def tension 0 eq {/tension .000001 def} if curvelist length 3 div 1 sub cvi /#triads exch def /ptr 0 def firstpoint morepoint} def /tension 2.83 def % default value for best fit /showtick false def % don't show points /ticklen 15 def % length of ticks /tickhead ticklen 4 div def /prvx { curvelist ptr 3 sub get } def /curx { curvelist ptr get } def /prvy { curvelist ptr 2 sub get } def /cury { curvelist ptr 1 add get } def /prva { curvelist ptr 1 sub get } def /cura { curvelist ptr 2 add get 180 sub} def /showtic1 { showtick true eq {gsave currentpoint newpath translate cura 180 add rotate ticklen neg 2 div 0 moveto ticklen 0 rlineto tickhead neg dup rlineto tickhead dup rlineto tickhead dup neg exch rlineto 0 setlinewidth stroke 0 ticklen neg 2 div moveto 0 ticklen rlineto stroke grestore} if }def /firstpoint { curx cury 2 copy abs exch abs add 0 eq {pop pop currentpoint curvelist exch 1 exch put curvelist exch 0 exch put}{moveto} ifelse showtic1 /ptr ptr 3 add def}def /morepoint {#triads { curx prvx sub dup mul cury prvy sub dup mul add sqrt tension div /zdist exch def prva cos zdist mul prvx add prva sin zdist mul prvy add cura cos zdist mul curx add cura sin zdist mul cury add curx cury curveto showtic1 /ptr ptr 3 add def} repeat} def /showtick false def /li {lineto} store %%%%%%%%%%%%%%%% jpg image and link %%%%%%%%%%%%%%%%%% % combined autopos jpeg conversion and hotlink: /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%% modified gonzo justify procs return ypos %%%%%%%%%%%%%%% /cly {save /snapcl exch def /linestring linestring2 def /justx (justL) def 3 1 roll /ypos exch def /xpos exch def stringgonzo ypos snapcl restore /ypos exch store} def /cfy {save /snapcf exch def /linestring linestring2 def /justx (justF) def 3 1 roll /ypos exch store /xpos exch store stringgonzo ypos snapcf restore /ypos exch store pop pop } def /ccy {save /snapcc exch def /linestring linestring2 def /txtwide 5000 def /justx (justC) def /pmrun 0 def 3 1 roll /ypos exch def 2500 sub /xpos exch def stringgonzo ypos snapcc restore /ypos exch store} def /cry {save /snapcm exch def /linestring linestring2 def /txtwide 5000 def /justx (justR) def /pmrun 0 def 3 1 roll /ypos exch def 5000 sub /xpos exch def stringgonzo ypos snapcm restore /ypos exch store} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% fat tail arrow utilities %%%%%%%%%%%%% %%%%%%% north tail, south tip %%%%%%% /fattailsn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth sub taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth sub deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth sub deltay sub debug tipx tipfat 2 div sub tipy tipdepth sub curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% south tail, north tip %%%%%%% /fattailns { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth add taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth add deltay sub debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, west tip %%%%%%% /fattailew { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tailx tipx tipdepth add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltax add tipy tipfat 2 div add debug tailx deltax sub taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax sub taily tailfat 2 div sub debug tipx tipdepth add deltax add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, east tip %%%%%%% /fattailwe { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tipx tipdepth add tailx sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltax sub tipy tipfat 2 div add debug tailx deltax add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax add taily tailfat 2 div sub debug tipx tipdepth sub deltax sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, east tip %%%%%%% /fattailne { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltayw sub debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltaye sub debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, west tip %%%%%%% /fattailsw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaye tipy tipfat 2 div add taily sub enthu mul store /deltayw tipy tipfat 2 div sub taily sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltaye add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltayw add debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, east tip %%%%%%% /fattailse { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaye tipy tipfat 2 div sub taily sub enthu mul store /deltayw tipy tipfat 2 div add taily sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw add debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye add debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, north tip %%%%%%% /fattailwn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat sub tailx sub enthu mul store /deltaxs tipx tipfat add tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div add sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% east tail, north tip %%%%%%% /fattailen { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat add sub enthu mul store /deltaxs tipx tipfat sub tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div add sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxs add taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxn sub taily tailfat 2 div add debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% west tail, south tip %%%%%%% /fattailws { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat 2 div add tailx sub enthu mul store /deltaxs tipx tipfat 2 div sub tailx sub enthu mul store /deltaye taily tailfat 2 div add tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div sub tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, south tip %%%%%%% /fattailes { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat 2 div add sub enthu mul store /deltaxs tailx tipx tipfat 2 div sub sub enthu mul store /deltaye taily tailfat 2 div sub tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div add tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn sub taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxs sub taily tailfat 2 div add debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store /debug {debugflag {gsave 2 copy black mt dot grestore} if } store /debugflag false store %%%%%%%%%%%% demos -- remove or alter before reuse %%%%%%%%%%%% /blu {0 0 1 setrgbcolor} store % sequence is [ tipx tipy tailx taily tipfat tailfat tipdepth tipspread ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tintmat is a self-generating list of 216 triple color values /webtintmat [ 0 1 5 { /a exch store 0 1 5 { /b exch store 0 1 5 { 5 div b 5 div a 5 div }for } for } for ] def % setwebtint accepts a color number 0 to 215 and then % sets the PostScript color generator for later use... /setwebtint { abs cvi 216 cvi mod % restrict range webtintmat exch 3 mul 3 getinterval % get values from table aload pop setrgbcolor } def % and set them %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CUSTOM ARTWORK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps23.1 {save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % isometric study package /ixf { %isometric transfer xyz to x'y' /zz exch store /yy exch store /xx exch store xx .866 mul yy .866 mul sub xx .500 mul yy .5 mul add zz add } store /irt { % isometric right plane concat WARNING: open gsave gsave ixf translate [.866 .5 0 1 0 0 ] concat} store /ilt { % isometric left plane concat WARNING: open gsave gsave ixf translate [.866 -.5 0 1 0 0 ] concat} store /itt { % isometric top plane concat LEFT LETTERING WARNING: open gsave gsave ixf translate [ .865 -.5 .866 .5 0 0] concat} store /ittalt { % isometric top plane concat RIGHT LETTERING WARNING: open gsave gsave ixf translate [ .865 .5 -.866 .5 0 0] concat} store /ittcyl { % isometric cylinder, straight up x y z diam height % WARNING: open gsave /cylht exch store /cyldia exch store /zzz exch store /yyy exch store /xxx exch store xxx yyy zzz itt 0 0 cyldia 180 0 arc gsave fill grestore 0 0 mt cylht pu line3 stroke } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%% % figure 1c is the inclination declination vector % 35 35 10 setgrid % 54 30 showgrid save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store false { { 0 0 326 278 40 326 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig1.jpg)} setimg 45 45 showgrid } if /font1 /StoneSans 0.85 gonzofont font1 /font2 /StoneSans-Bold 1.2 gonzofont font1 false { 3.5 2.5 mt 12 pu 24.5 pr 12 pd closepath % tint if wanted gsave 69 setwebtint fill grestore black } if 21.5 2 translate % set iso zero % earth top, overwritten by slopes 0 0 2 itt 0 0 mt 22 pl [ 0 0 100 -22 22 70 ] curvetrace % rear slope % 22 pu old rear slope [0 0 15 0.001 22 -15 ] curvetrace % fudge % 20 pr % old right slope closepath gsave 137 setwebtint fill grestore line2 stroke % 0 22 mt dot % check positioning -12.5 3.5 (EARTH'S SURFACE) cc grestore % earth left 0 0 -1 ilt 0 0 mt 22 pl 3 pu [0 0 10 0.001 3 -30] curvetrace closepath gsave 45 setwebtint fill grestore line2 stroke black 1 18 (NORTH) cl grestore % earth right 0 0 -1 irt 0 0 mt 3 pu [0 0 20 22 3 -20] curvetrace % 22 pr % temp till ct 3 pd closepath gsave 3 setwebtint fill grestore line2 stroke grestore %%%%%%%%%%%%%%%%%%%% % incl right 5 19 2 irt 0 0 mt 12 pu 12 pr 12 pd closepath gsave 207 setwebtint fill grestore line1 stroke line2 1.5 4.5 mt 9 r % 3 3 mt 9 u line3 1.5 4.5 mt 9 4.5 rlineto stroke % inc vector 1.5 4.5 7.5 -0 27.5 arc line1 stroke % vector angle 7 2.6 (INCLINATION) cc grestore % decl top 5 19 2 itt 0 0 mt 12 pu 12 pr 12 pd closepath gsave 207 setwebtint fill grestore line1 stroke line2 5 1.5 mt 9 u % 3 3 mt 9 u line3 5 1.5 mt 6 9 rlineto stroke % inc vector 5 1.5 7.5 55.5 90 arc line1 stroke % vector angle gsave 4.3 6 translate 90 rotate 0 0 (DECLINATION) cc grestore grestore % left vector plane red tracer 7 0.5 sub 19 2 ilt 5 setwebtint [0.75 0.4 ] 0 setdash 1 setlinejoin 1 setlinecap line3 0 4.5 mt 5 r 4.5 d grestore % right vector plane red tracer 22.5 26 -.5 ilt 5 setwebtint [0.75 0.4 ] 0 setdash line3 0 4.5 mt 11 r 8.8 d grestore % dir arrows line3 1 setlinejoin 1 setlinecap 12 21 mt 4 u uarrow 12 24 mt 0.4 pl 0.4 1.5 rlineto % arrow tip 0.4 -1.5 rlineto closepath black fill 12 25.8 (UP) cc newpath 12 21 mt line3 gsave 30 rotate 4 r grestore 12 4 .866 mul add % north arrow 21 4 .5 mul add mt -1.2 -.4 rlineto .8 -.4 rlineto closepath fill 16.5 23.5 (NORTH) cc % lettering font1 2 29 (Vector shown is in SOUTHERN HEMISPHERE) cl newpath %%%%%%%%%%% vector routine %%%%%%%%%%%% /vector { /postdia exch store /tipdia exch store /tiplen exch store /postlen exch store itt postlen % arrow tip dup neg exch tipdia 2 div 45 -135 arc tiplen dup neg exch tipdia 2 pop 1.5 div add % huh? fudge rlineto closepath gsave 5 setwebtint fill grestore line1 stroke postlen dup neg exch tipdia 2 div 0 360 arc % arrow base gsave 167 setwebtint fill grestore black line1 stroke 0 0 postdia 2 div -135 45 arc % arrow shaft postlen dup neg exch postdia 2 div 45 -135 arc closepath gsave 5 setwebtint fill grestore line1 stroke 0 0 postdia 2 div 0 360 arc % post end gsave 167 setwebtint fill grestore line1 stroke grestore } store % 0 0 mt dot % 0 0 0 10 2.5 2.5 1 vector gsave -6.5 16.5 translate -64.5 rotate % position floating vector 0 0 0 11.6 2. 2 0.7 vector grestore % spot arrows black -5 26 mt % uppermost inc .1 -.7 rlineto .3 .2 rlineto closepath fill black -4.3 23 mt % lowermost inc -.23 .7 rlineto .3 .3 rlineto closepath fill black 0.05 15.95 mt % uppermost dec .5 -.5 rlineto .3 .2 rlineto closepath fill black 2.5 13.35 mt % ulowermost dec -.5 .6 rlineto .4 .2 rlineto closepath fill % 50 50 showgrid 90 setwebtint % -4.3 23.0 mt dot % inc lowest % -5.0 26 mt dot % inc highest % 2.5 13.35 mt dot % dec lowest % 0.15 15.95 mt dot % dec highest -25 0 translate % boo hiss % 50 50 showgrid figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps26.4 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store false { { 0 0 670 334 30 670 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig4.jpg)} setimg 50 30 showgrid } if /font1 /StoneSans 0.7 gonzofont font1 font1 true { 3.5 2.5 mt 12 pu 24.5 pr 12 pd closepath % tint if wanted gsave 69 setwebtint fill grestore black } if 3.5 2.5 mt 12 pu line2 stroke % vert axis 3.5 2.5 mt 24.5 pr line2 stroke % hor axis line1 % vert ticks 8.5 2.5 mt 0.5 u 13.5 2.5 mt 0.5 u 18.3 2.5 mt 0.5 u 23 2.5 mt 0.5 u font1 3.5 1.4 (0) cc 8.5 1.4 (2000) cc 13.5 1.4 (4000) cc 18.3 1.4 (6000) cc 23 1.4 (8000) cc 27 1.4 (10,000) cc 15 0.4 (YEARS AGO) cc gsave 1.5 8.5 translate 90 rotate 0 0 (FIELD STRENGTH, OERSTEADS) cc grestore 3 2.3 (0) cr 3 8.3 (0.5) cr 3 14.3 (1.0) cr line1 % 3.5 8 mt 0.5 r /curang 10 store /degperunit 3.6 store /ampl 2.9 store /nonlin {curpos 21.7 div 5 exp 0.8 mul } store gsave 4 8.1 translate 0 curang sin ampl mul mt 0 0.2 21.7 {/curpos exch store curpos curang sin ampl mul nonlin add lineto /curang curang degperunit add store} for % 97 setwebtint 1 setlinejoin 1 setlinecap line3 stroke grestore figsnap restore } store %%%%%%%%%%%%%%%%%% /artps43.1 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /yind 1.5 store /font1 /MyriadPro-Bold [1.5 0 0 1.5 0 0.5] gonzofont font1 /font2 /MyriadPro-Regular 1.2 gonzofont font2 /font3 /MyriadPro-Bold [1.2 0 0 1.2 0 0] gonzofont font1 0 0 mt 56 pu 38 pr 56 pd closepath gsave 214 setwebtint fill grestore gsave newpath % title background0 0 56 mt 4.5 pd 38 pr 4.5 pu closepath 212 setwebtint fill grestore black line1 stroke % 40 56 showgrid 2.5 52.5 (|1MATERIALS |2Ancient pottery |h Bone |h Boiling stones (prehistoric cookers) |h Ceramics |h Fire pits |h Fossil shells |h Glass |h Ice |h Meteors |h Moon |h Polyethylene |h Pottery kilns |h Roof tiles |h Salt |h Sand |h Volcanoes ) cl 14 52.5 (|1MINERALS|2 Alumina |h Anhydrite |h Anthracene |h Borate glass |h Calcite |h Clays |h Diamond |h Dolomite |h Fluorite |h Limestone |h Magnasite |h Obsidian |h Quartz |h Sandstone |h Sapphire |h Silica |h Talc) cl 23.5 52.5 (|1CHEMICAlS|2 Barium titinate Barium fluoride |h Calcium carbonate Calcium oxide Calcium fluoride* Calcium sulfate* Calcium sulfide |h Cesium bromide (AH) Cesium iodide (AH) |h Lithium borate* Lithium bromide (AH) Lithium chloride (AH) lithium fluoride (AH)* Lithium phosphate |h Magnesium oxide Magnesium sulfide |h Potassium bromide (AH) Potassium chloride (AH) Potassium fluoride (AH) Potassium iodide (AH) Potassium sulfate* |h Rhubidium bromide (AH) Rhubidium chloride (AH) Rhubidium iodide (AH) |h Silicon dioxide |h Sodium bromide (AH) Sodium chloride (AH) Sodium fluoride (AH) Sodium iodide (AH) |h Thorium dioxide |h Zinc oxide ) cl /txtwide 999 store 180 setwebtint 2.5 3.5 (|3(AH) = alkali halide;\n* = popular dosimetry material) cl figsnap restore } store %%%%%%%%%%%%%%%%% /artps26.5 { % reversals thermometer save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store false { { 0 0 1128 224 50 1128 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig5raw.jpg)} setimg 50 30 showgrid } if /font1 /StoneSans 0.7 gonzofont font1 font1 25 0.3 (AGE IN MILLIONS OF YEARS AGO) cc gsave 4 0.2 translate % recenter boxes 6 6.8 (= FIELD NORMAL (|jCOMPASS POINTS NORTH|j)) cl 25 6.8 (= FIELD REVERSED (|jCOMPASS POINTS SOUTH|j)) cl 4.4 6.3 mt 1.2 pu 1.2 pr 1.2 pd closepath % bottom box gsave 69 setwebtint fill grestore line1 stroke 4.4 19 add 6.3 mt 1.2 pu 1.2 pr 1.2 pd closepath % top box gsave 59 setwebtint fill grestore black line1 stroke grestore line1 stroke /orfill {gsave newpath 59 setwebtint % orange fill input start and width exch 3.5 mt 2 pu pr 2 pd closepath fill grestore} store 2.2 3.5 mt 2 pu 47.3 pr 2 pd closepath % main bar true {gsave 69 setwebtint fill grestore} if 2.8 0.15 orfill 9.6 2.1 orfill 12.5 6.8 orfill 19.8 0.15 orfill 21.2 1.5 orfill 23.3 1.2 orfill 24.8 3.0 orfill 31.8 0.9 orfill 33.2 1.3 orfill 37 3.8 orfill 43 1.4 orfill 46.4 1.2 orfill 49 0.4 orfill line2 stroke line1 2.2 3.3 mt 1 d 2.2 1.5 (PRESENT) cc 13 3.3 mt 1 d 13 1.5 (1) cc 23.4 3.3 mt 1 d 23.4 1.5 (2) cc 33.8 3.3 mt 1 d 33.8 1.5 (3) cc 44 3.3 mt 1 d 44 1.5 (4) cc 49 3.3 mt 1 d 49 1.5 (4.5) cc figsnap restore } store %%%%%%%%%%%%%%%%%%% /remotetones { gsave .5 0.3 0 setrgbcolor font3 txtwide 2 div 0 yinc add 0.8 sub pstitle cc grestore gsave 0.3 4.5 translate 0 0 mt 20 pu txtwide 0.6 sub pr 20 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 0 0 mt 20 pu 8.5 pr 20 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu txtwide 0.6 sub pr 4 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu 8.5 pr 4 pd closepath 0 0.85 0.85 setrgbcolor fill grestore 0 1 1 setlinewidth line3 stroke black line1 8.5 0 mt 20 u 12.5 0 mt 20 u 16.5 0 mt 20 u 20.5 0 mt 20 u 24.5 0 mt 20 u 28.5 0 mt 20 u /tabs [ 1 9.5 13.5 17.5 21.5 25.5 29.5 ] store 30.5 0.2 add 18.3 (|4Zenith\n4 tone) cc 26.5 18.3 (|4Sylvania\n7 tone) cc 22.5 18.3 (|4RXR\n8 tone) cc 18.5 18.3 (|4RCA\n7 tone) cc 14.5 18.3 (|4Motorola\n3 tone) cc 10.5 18.3 (|4Admiral\n6 tone) cc 0 16 mt txtwide 0.6 sub line1 r 0 14.3 (|4|tVolume "Up" |t42.5 |t41.5 |t43.25 |t43.25 |t37.25 |t37.75) cl 0 12.9 (|4|tVolume "Down" |t42.5 |t40.0* |t38.75 |t38.75 |t38.75 |t38.75**) cl 0 12 mt txtwide 0.6 sub line1 r 0 10.3 (|t|4Color "Up" |t41.0 |t ---- |t44.75 |t44.75 |t43.25 |t ----)cl 0 8.9 (|t|4Color "Down" |t39.5 |t ---- |t37.25 |t37.25 |t40.25 |t ---- ) cl 0 8 mt txtwide 0.6 sub line1 r 0 6.3 (|t|4Tint Red (CCW) |t36.5 |t38.5* |t35.75 |t35.75 |t44.75 |t40.25**) cl 0 4.9 (|t|4Tint Green (CW) |t38.0 |t41.5* |t34.25 |t34.25 |t35.75 |t41.25**) cl 0 4 mt txtwide 0.6 sub line1 r 0 2.3 (|t|4V.H.F. Channel |t35.0 |t38.5 |t40.25 |t40.25 |t41.25 |t41.25(+)) cl 0 0.9 (|t|4U.H.F. Channel |t ---- |t ---- |t ---- |t41.75 |t ---- |t40.25(-)) cl grestore /yinc 0.8 store font5 0 3 (*40.0 mutes sound and activates hue controls. **38.75 mutes sound and activates hue controls in place of channel change.) cf } store /artew45 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 1 store /ypos 0 store /xpos 0 store false { { 0 0 1348 1008 40 1348 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\trace1.jpg)} setimg 40 30 showgrid } if /ltorange {1 0.8 0.6 setrgbcolor} store /dkorange {1 0.6 0 setrgbcolor} store true { % cancel background gsave -1 -1 mt 31.5 pu 40 pr 31.5 pd closepath 0.85 1 0.7 setrgbcolor fill grestore } if gsave 1 setlinecap 1 setlinejoin 3.5 11 mt 2 pr 4 pu 1 pr % n2 line 0.55 0.55 0.55 setrgbcolor 0.4 setlinewidth stroke grestore gsave 6.5 10 mt 15.5 pu 10 pr 15.5 pd closepath gsave 0.5 0.5 0.5 setrgbcolor fill grestore 0.8 0.8 0.8 setrgbcolor line3 stroke grestore line1 black 14 12.5 mt 8 r currentpoint mt dot % from heater % 13 18.5 mt rarrow gsave % thermocoouple 1 0 1 setrgbcolor 1 setlinecap 1 setlinejoin 0.35 setlinewidth 12.5 12.5 mt 2.8 r stroke grestore 22 4 mt 16.25 u 2 r % main vert line 22 8.5 mt darrow 22 16 mt darrow 18 12.5 mt rarrow line1 black 11.5 6 mt 6 u 11.5 9 mt uarrow gsave % sample 9 12.5 mt 0.5 0.5 rlineto 0.5 0.5 rlineto 0.5 0.25 rlineto 0.5 0.25 rlineto 0.5 0 rlineto 0.5 0 rlineto 0.5 -0.25 rlineto 0.5 -0.25 rlineto 0.5 -0.5 rlineto 0.5 -0.5 rlineto closepath 0 1 0 setrgbcolor fill grestore 8.5 11.5 mt 1.7 pu 6 pr 1.7 pd closepath % heater gsave ltorange fill grestore dkorange line2 stroke black font1 line1 gsave black % filter arrow 5 19 translate -30 rotate 0 0 mt 4.25 r currentpoint rarrow grestore gsave black % thermo arrow 16 9 translate 105 rotate 0 0 mt 3.25 r currentpoint rarrow grestore 10.5 22.5 mt 4 pd [ 0 0 -45 10.5 2 add 18.5 45 ] curvetrace 4 pu closepath % photomultiplier gsave ltorange fill grestore dkorange line2 stroke black font1 2.5 4.2 mt 5.5 pu [0 0 90 4.5 9.7 -90] curvetrace % bottom of n2 tank 5.5 pd closepath % bottom of n2 tank gsave ltorange fill grestore dkorange line2 stroke black font1 3.5 11 0.75 0 360 arc % n2 gauge gsave ltorange fill grestore dkorange line2 stroke black font1 black line1 15 4 mt 11 pr 17.5 4 mt larrow 24 4 mt larrow line1 11.5 22.5 mt 5 pu 23.5 pr 9 d 26.5 27.5 mt dot 26.5 27.5 mt 5.5 d 26.5 25.5 mt darrow 35 25.5 mt darrow 32 20.5 mt 3.5 pu 6 pr 3.5 pd closepath gsave ltorange fill grestore dkorange line2 stroke black font1 32 3 add 21.5 0.5 add (INTEGRATOR) cc 20 27.5 mt 1 u 3 -1 rlineto -3 -1 rlineto closepath % amplifier gsave ltorange fill grestore dkorange line2 stroke black font1 8 2 mt 4 pu 7 pr 4 pd closepath % prop power control gsave ltorange fill grestore dkorange line2 stroke black font1 26 2 mt 4 pu 7 pr 4 pd closepath % ramp gen gsave ltorange fill grestore dkorange line2 stroke black font1 23.5 18.5 mt 3.5 pu 6 pr 3.5 pd closepath % xy recorder gsave ltorange fill grestore dkorange line2 stroke black font1 22 4 1.33 0 360 arc % error amp gsave ltorange fill grestore dkorange line2 stroke black font1 32 15.5 mt 3.5 pu 6 pr 3.5 pd closepath gsave ltorange fill grestore dkorange line2 stroke black font1 32 3 add 17.5 0 add (DIGITAL\nREADOUT) cc 32 3 add 14 (TOTAL DOSAGE\nDISPLAY) cc 9 16.5 mt 0.55 pu 5 pr 0.55 pd closepath % filter gsave ltorange fill grestore dkorange line2 stroke black 3 3 (NITROGEN\nQUENCHING\nSUPPLY) cc 22 1.5 (ERROR\nAMPLIFIER) cc 17.5 8 (THERMOCOUPLE\nTEMPERATURE\nSENSOR) cc 3 19.5 (OPTICAL\nFILTER) cc 6 27 (LIGHT-TIGHT\nENCLOSURE) cc 21.5 25.3 (AMPLIFIER) cc 26.5 17 (GLOW-CURVE\nDISPLAY) cc 14 24 (PHOTO-\nMULTIPLIER) cc 11.5 4.7 (PROPORTIONAL\nPOWER\nCONTROLLER) cc 29.5 4.75 (RAMP GEN\nSETS HEATING\nRATE) cc 11.5 12 (HEATER) cc 11.5 14.5 (SAMPLE) cc 26.5 20.3 (X-Y\nRECORDER) cc figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % AUTOBOOK ROUTINES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /startbook { /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse [/CropBox [0 0 bookwide bookhigh] /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /SinglePage % no rolling /Pagemode /FullScreen % fullscreen if not on web /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark} store /autopage { save /autosave exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse /ypos topline yinc mul store % initialize to top of page pagescript { aload pop exec } forall showpage autosave restore } store /showrightpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 txtwide 0 curnum cr } store /showleftpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 0 0 curnum cl} store %%%%%%%%%%%%%%% /settext { /curtxt exch store toptextline {toplineparaindent {(|p)}{(|z)} ifelse }{(|p)} ifelse (|y|1\n) mergestr 0 exch ypos exch % assumes 0 xpos curtxt mergestr 0 exch ypos exch cfy /toptextline false store %%%% /ypos ypos yinc 2 div add store % not sure why ADD here } store %%%%%%%%%%%% /settan {/tanmsg exch store /xtanindent exch store /numtanlines exch store save /tansave exch store numtanlines xtanindent ypos yinc 2 div add tanmsg setoldwhitebox tansave restore /ypos ypos numtanlines 2 add yinc mul sub store /ypos ypos yinc sub store } store /setoldwhitebox {save /owbsnap1 exch store % detail proc used by settan /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /tabs [1.5] store % optional for bullets only /yinc 1.6 store /txtwide 30 store /pm 0 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.5 gonzofont /font5 /StoneSans 1.5 gonzofont font5 font1 % huh? xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 1 0.7 0.5 setrgbcolor fill grestore .5 0.3 0 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf owbsnap1 restore } store %%%% setimage /setimg { exec /comesfromurl exch store /goestourl exch store /imscale exch store /imyres exch store /imxres exch store /imyshift exch store /imxshift exch store % /ypos ypos imyres imscale mul sub yinc 2 div sub store % positions figure LEAVE OUT? save /jpgsnap exch store imxshift ypos imyshift add imxres imyres imscale goestourl comesfromurl jpegimageprocwithlink jpgsnap restore /ypos ypos yinc 1.5 mul sub store % positions what will follow below } store %% center title /centit { /cenmsg exch store font7 /ypos ypos yinc 1.5 mul sub store gsave .5 0.3 0 setrgbcolor 0 yinc translate % shift ONLY the title xcen ypos cenmsg cc grestore % NO preserve yinc here /ypos ypos yinc 0.5 mul sub store } store %% setdef /setdef {/sdmsg exch store /defxposn exch store /numdeflines exch store toptextline {/ypos ypos yinc add store } if % adjust if top of page /ypos ypos yinc 0.5 mul sub store numdeflines defxposn ypos sdmsg setoldgraybox /ypos ypos yinc numdeflines 3.5 add mul sub store } store /setoldgraybox {save /ogbsnap1 exch store % serves setdef /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /gtxt (|p|y|1\n) gtxt mergestr store /yinc 1.6 store /txtwide 30 store /pm -4 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.2 gonzofont /font5 /StoneSans 1.2 gonzofont font5 xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 0.8 1 1 setrgbcolor fill grestore 0.1 .5 .5 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf ogbsnap1 restore } store /settitbox { save /tit1snap exch store /maintxt exch store maintxt == % hidden problem here??? /tittext exch store tittext == /txtindent exch store txtindent == /boxxindent exch store boxxindent == /txtlines exch store txtlines == (-----------------------------------------) /boxwide 31 store /tabs [-1.5 4] store % first is for bullets; second is for indented definitions /font4 /MyriadPro-Bold 1.3 gonzofont font4 /font5 /StoneSans 1.2 gonzofont font5 /font6 /StoneSans-Bold 1.2 gonzofont /yinc 1.515 store boxxindent ypos txtlines 4 add yinc mul sub translate gsave 0 0 mt txtlines 2 add yinc mul pu boxwide pr txtlines 2 add yinc mul pd closepath gsave 1 0.8 1 setrgbcolor fill grestore 0.2 setlinewidth 0.5 0.2 0.5 setrgbcolor stroke txtindent txtlines yinc mul 0.3 add maintxt cl { asdfasdfasdf gsave % shifted title 0 txtlines 2 add yinc mul translate 0 0 mt 2.5 pu boxwide pr 2.5 pd closepath 0.5 0.2 0.5 setrgbcolor gsave fill grestore 0.2 setlinewidth stroke % white font4 boxwide 2 div 0.8 tittext cc } pop grestore grestore ypos txtlines 5.5 add yinc mul sub tit1snap restore /ypos exch store } store /lineadj {yinc mul ypos add /ypos exch store} store % adjusts custom vertical position /setps { exec /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store /setpswithtitle { /pstitle exch store /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store %%%%%%%%%%%%%%%%% faster page experiment /startpage { /toplineparaindent exch store /pagenum exch store save /pagesnap1 exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum 998 lt { pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse } if /ypos topline yinc mul store % initialize to top of page } store /endpage { showpage pagesnap1 restore } store /changecolumn {txtwide 3 add 0 translate /ypos topline yinc mul store % reinitialize to top of page /toptextline true store} store /setlowleft {/msg exch store font3 0 -1 msg cl} store /setlowright {/msg exch store font3 txtwide -1 % presumes colulm 2 msg cr} store /setendarrow {gsave txtwide 1.2 sub 2.45 mt 0.5 1 rlineto 0.5 -1 rlineto % temp closepath 0 0 1 setrgbcolor fill grestore} store /setfigtit {exec (|z|y\n) exch mergestr /msg exch store /tyshift exch store /txshift exch store /titlines exch store save /msgsnap exch store /txtwide txtwide 4 sub store /yinc 1 store 0 0 1 setrgbcolor font8 txshift ypos tyshift yinc mul add translate 0 0 msg cf msgsnap restore } store /setfigtitwide {exec (|z|y\n) exch mergestr /msg exch store /tyshift exch store /txshift exch store /titlines exch store save /msgsnap exch store /txtwide 999 store % /txtwide txtwide 4 sub store /yinc 1 store 0 0 1 setrgbcolor font8 txshift ypos tyshift yinc mul add translate 0 0 msg cf msgsnap restore } store %%%%%%%%%% web friendly colors %%%%%%%%%%% % see < http://www.tinaja.com/glib/webcolor.psl > for details or .pdf for chart % tintmat is a self-generating list of 216 triple color values /webtintmat [ 0 1 5 { /a exch store 0 1 5 { /b exch store 0 1 5 { 5 div b 5 div a 5 div }for } for } for ] def % setwebtint accepts a color number 0 to 215 and then % sets the PostScript color generator for later use... /setwebtint { abs cvi 216 cvi mod % restrict range webtintmat exch 3 mul 3 getinterval % get values from table aload pop setrgbcolor} def % and set them %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % GLOBAL BOOK VALUES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /inches {72 mul} store /bookwide 8.5 inches store /bookhigh 11 inches store /showthegrid false store /leftgutter 38 store /bottomgutter 35 store /topline 72 store % normal top line /xpos 0 store % normal left margin /aftergridparams { /pm 1.5 .02 sub store /yinc 1.35 store /txtwide 3.4 inches 7.2 div store /xcen txtwide 2 div store /xcenwide txtwide 1.5 add store /kern 0.1 store /cstretch 0 store /sstretch 0 store /font1 /StoneSerif [1.20 .025 sub 0 0 1.20 0 0 ] gonzofont font1 /font2 /StoneSerif [1.20 .025 sub 0 0.2 1.20 0 0 ] gonzofont % fake italic /font3 /StoneSans-Bold [1 0 0 1 0 0 ] gonzofont % bold for titles /font8 /StoneSans-Bold [0.9 0 0 0.9 0 0 ] gonzofont % bold for titles /font4 /StoneSans [0.9 0 0 1.2 0 0 ] gonzofont % compressed main large figure /font5 /StoneSans [0.9 0 0 0.9 0 0 ] gonzofont % fine print for figure /font6 /StoneSerif-Bold [1.38 0 0 1.38 0 0 ] gonzofont font6 font1 % must be font6 for /to /font7 /MyriadPro-Bold [1.6 0 0 1.15 0 0 ] gonzofont % for centered titles /font7 /StoneSerif-Bold [1.15 0 0 1.15 0 0 ]gonzofont % try a serif title } store startbook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PAGE SCRIPTS START HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % degree is \260 but not avail use o instead %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (March, 1969) setlowleft %%%%%%%%%%%% % custom set nonstandard intro save /snap1 exch store -20 70.5 mt 55 pu 125 pr 55 pd closepath % top stripe 209 setwebtint fill /txtwide 999 store % no forced %% input is from Illustrator at 10X and upside down /vin {86.5 exch sub } store % vertical invert required by illustrator % 80 80 showgrid /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans-Bold [5.33 0 0 11.4 0 0 ]gonzofont font1 % try better m /cstr1 ( ) store /globalkern 0.2 store gsave 0 92 mt % main title (THERMOLUMINESCENCE) { cstr1 exch 0 exch put cstr1 false charpath gsave 45 setwebtint fill grestore currentpoint pop /curx exch store line3 0.3 setlinewidth % try heavier 53 setwebtint stroke globalkern 0 translate curx globalkern add 92 mt } forall grestore black /font1 /StoneSans-Bold [2.88 0 0 4.93 0 0 ]gonzofont font1 14.6 86.2 (THEORY & APPLICATIONS) cl /font1 /MyriadPro-Bold [1.5 0 0 1.5 0 0 ]gonzofont font1 20.5 8.5 add 82.3 (By DON LANCASTER) cl /cstretch 0 store /font2 /StoneSans-Bold [1.3 0 0.3 1.3 0 0 ]gonzofont font2 % fake italic /txtwide 42 store /yinc 1.6 store 13.7 0 add 78.6 font2 45 setwebtint (|2Certain materials, when heated, release light proportional to previous radiation damage. This provides a powerful, versatile tool for solid-state research, nuclear safety, medical dosimetry, geologic age determination, and for archaeological dating.) cf snap1 restore %%%%%%%%%%%%%%%%%%%% -22 lineadj % need drop cap H 3 lines /indentcount 3 store /dropindent 3.5 store /font: /StoneSerif-Bold [4.5 0 0 4.8 0 -3.9] gonzofont /font- /StoneSerif-Bold [.6 0 0 .6 0 .6] gonzofont font- font1 /setbrown { 87 setwebtint } store /setblack { 0 setwebtint } store setbrown (|:T|i |/setblack |1AKE a chunk of limestone and crush it. Now heat it at a constant rate up to kitchen-stove temperatures under laboratory conditions. It will probably emit light, but only while the temperature is |2increasing|1. Cool it back down again and repeat the process. Nothing happens.|p This rather strange behavior gives us an example of |2thermoluminescence|1, a new and valuable tool of use to the solid-state researcher, the nuclear scientist, the medical doctor, the geologist, and the archeologist.|p Thermoluminescence is the release of light in a crystalline material as it gets heated at a constant rate. The light is pro- portional to all of the previous nuclear radiation dosage the material has received. Once the light gets produced, the previous radiation history of the material is "erased" as the thermal cycling performs a destructive readout of the sample's past history. Had we measured the output light produced by the lime- stone sample and made several other measurements and assumptions, we could find out either how old the limestone is or else how long it has been since it had last been heat- ed. Conversely, we could heat-cycle our piece of limestone to erase all the old radiation history. Any measurement made in the future on this sample would tell us how much new radiation the limestone had been exposed to since we last heat-cycled it. Thermoluminescence is then a two-way street; it can either tell us how long it has been since a substance was last heated, if we make some assumptions about dosage rate: or it can tell us how much radiation has been picked up in a given time. The "how long?" can be of great value to geologists and archaeologists; the "how much?" can be important to doctors using radioactive treatment and to nuclear scientists and other personnel exposed to possibly dangerous radiation levels. Before looking further at this new field and its exciting applications, we must note that thermoluminescence is a very specific effect. It shonld not be confused with |2incandescence|1 or |2luminescence|1, the ordinary light you get when you heat something up red hot or hotter. The temperatures involved in thermoluminescence are far lower. While the maximum involved is around 600|-o|1F, most of the light is obtained at much lower tempemtures. In fact, even ice can be made to thermoluminescence. ) settext (The Basic Mechanism) centit black (Crystals can suffer radiation damage just like people can, and the damage is a cumulative effect that can be picked up as a single big blast of radiation, or over a very long time at much lower radiation levels. Consider a crystalline sub- stance that is also an insulator or a semiconductor. Table salt will do nicely. Assume that it is initially a perfect crystal, |k) settext changecolumn -22 lineadj (|1|z|y without any impurities or mechanical problems. If we looked down into the crystal, we would see a |2crystal lattice|1, a nice orderly arrangement of sodium and chlorine ions, one after the other, alternating in all three directions. Strong forces, known as |2valence bonds|1, will try to hold all of the ions in a perfect alignment. Should we heat up the crystal, thermal agitation will excite all the individual ions. The higher the temperature, the greater the ion energy level, and the more likely the valence bonds will be broken. If we provide too much heat, the bonds all break and the crystal melts. ) settext {3 2.3 -0.8 % lines xindent yadj (Table 1. A listing of various thermoluminescent materials.)} setfigtit -28.5 lineadj { 0 0 -11.5 0.9 % lines xshift yadjust scale (artps43.1)} setps % setendarrow (43) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page 44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster tlum44a.PSL page 44 second of thermolum % Copyright c 2011 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. % Routine attempts to speed up improving a ClearScan ebook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % OLDER SERVICE ROUTINES COPIES HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% links menu directory %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below % zzzz keep for search marker % dictionary method << % entered during gg116 /ebksamp1.asp (http://www.tinaja.com/ebksamp1.asp) /tvtcb.pdf (http://www.tinaja.com/ebooks/tvtcb.pdf) /unhalf.pdf (http://www.tinaja.com/glib/unhalf.pdf) >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%% tints to replace italic fonts %%%%%%%%%%%%% /to {tinton1 font6} store /tx {tintoff font1} store /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def %%%%%%%%%%%%%%%%% new curvetrace routines %%%%%%%%%%%%%%% % (2a) improved gonzo curvetrace % . . . . . % curvetrace2 - creates a smooth curved path from a data point list. % enter with currentpoint set and absolute array. % 0 0 as initial data appends path; any other values % creates new path. A "999" angle of any intermediate points % will be replaced by a good guess. % /fixgusses replaces any intermediate point angle guess of "999" with a best % effort guess of using the tangent angle that results if you draw a circle % through the adjacent two points. /reportnewangles true store /fixguesses {/curvelist exch store 5 3 curvelist length 3 sub { /cptr exch store curvelist cptr get 360 gt { curvelist cptr 5 sub get curvelist cptr 4 sub get curvelist cptr 2 sub get curvelist cptr 1 sub get curvelist cptr 1 add get curvelist cptr 2 add get fixangle curvelist exch cptr exch put } if } for reportnewangles {curvelist == } if % return angles if desired curvelist } def % /fixangle is used by fixguess. Given three points, draw a circle through the % points, then calculate and return the tangent angle of the middle point. /fixangle { /y3 exch store /x3 exch store /y2 exch store /x2 exch store /y1 exch store /x1 exch store y2 y1 sub x2 x1 sub atan 90 sub tan /mm exch store % find first bisector x2 x1 sub 2 div x1 add /px1 exch store y2 y1 sub 2 div y1 add /py1 exch store /bb py1 px1 mm mul sub store y3 y2 sub x3 x2 sub atan 90 sub tan /nn exch store % find second bisector x3 x2 sub 2 div x2 add /px2 exch store y3 y2 sub 2 div y2 add /py2 exch store /cc py2 px2 nn mul sub store /xcen cc bb sub mm nn sub dup 0 eq {pop 0.000001} if div store % find circle /ycen xcen mm mul bb add store /rad x1 xcen sub dup mul y1 ycen sub dup mul add sqrt store % don't really need y2 ycen sub x2 xcen sub atan 90 sub % return best angle guess } def /curvetrace2 {fixguesses /curvelist exch def tension 0 eq {/tension .000001 def} if curvelist length 3 div 1 sub cvi /#triads exch def /ptr 0 def firstpoint morepoint} def /tension 2.83 def % default value for best fit /showtick false def % don't show points /ticklen 15 def % length of ticks /tickhead ticklen 4 div def /prvx { curvelist ptr 3 sub get } def /curx { curvelist ptr get } def /prvy { curvelist ptr 2 sub get } def /cury { curvelist ptr 1 add get } def /prva { curvelist ptr 1 sub get } def /cura { curvelist ptr 2 add get 180 sub} def /showtic1 { showtick true eq {gsave currentpoint newpath translate cura 180 add rotate ticklen neg 2 div 0 moveto ticklen 0 rlineto tickhead neg dup rlineto tickhead dup rlineto tickhead dup neg exch rlineto 0 setlinewidth stroke 0 ticklen neg 2 div moveto 0 ticklen rlineto stroke grestore} if }def /firstpoint { curx cury 2 copy abs exch abs add 0 eq {pop pop currentpoint curvelist exch 1 exch put curvelist exch 0 exch put}{moveto} ifelse showtic1 /ptr ptr 3 add def}def /morepoint {#triads { curx prvx sub dup mul cury prvy sub dup mul add sqrt tension div /zdist exch def prva cos zdist mul prvx add prva sin zdist mul prvy add cura cos zdist mul curx add cura sin zdist mul cury add curx cury curveto showtic1 /ptr ptr 3 add def} repeat} def /showtick false def /li {lineto} store %%%%%%%%%%%%%%%% jpg image and link %%%%%%%%%%%%%%%%%% % combined autopos jpeg conversion and hotlink: /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%% modified gonzo justify procs return ypos %%%%%%%%%%%%%%% /cly {save /snapcl exch def /linestring linestring2 def /justx (justL) def 3 1 roll /ypos exch def /xpos exch def stringgonzo ypos snapcl restore /ypos exch store} def /cfy {save /snapcf exch def /linestring linestring2 def /justx (justF) def 3 1 roll /ypos exch store /xpos exch store stringgonzo ypos snapcf restore /ypos exch store pop pop } def /ccy {save /snapcc exch def /linestring linestring2 def /txtwide 5000 def /justx (justC) def /pmrun 0 def 3 1 roll /ypos exch def 2500 sub /xpos exch def stringgonzo ypos snapcc restore /ypos exch store} def /cry {save /snapcm exch def /linestring linestring2 def /txtwide 5000 def /justx (justR) def /pmrun 0 def 3 1 roll /ypos exch def 5000 sub /xpos exch def stringgonzo ypos snapcm restore /ypos exch store} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% fat tail arrow utilities %%%%%%%%%%%%% %%%%%%% north tail, south tip %%%%%%% /fattailsn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth sub taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth sub deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth sub deltay sub debug tipx tipfat 2 div sub tipy tipdepth sub curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% south tail, north tip %%%%%%% /fattailns { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth add taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth add deltay sub debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, west tip %%%%%%% /fattailew { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tailx tipx tipdepth add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltax add tipy tipfat 2 div add debug tailx deltax sub taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax sub taily tailfat 2 div sub debug tipx tipdepth add deltax add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, east tip %%%%%%% /fattailwe { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tipx tipdepth add tailx sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltax sub tipy tipfat 2 div add debug tailx deltax add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax add taily tailfat 2 div sub debug tipx tipdepth sub deltax sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, east tip %%%%%%% /fattailne { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltayw sub debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltaye sub debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, west tip %%%%%%% /fattailsw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaye tipy tipfat 2 div add taily sub enthu mul store /deltayw tipy tipfat 2 div sub taily sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltaye add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltayw add debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, east tip %%%%%%% /fattailse { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaye tipy tipfat 2 div sub taily sub enthu mul store /deltayw tipy tipfat 2 div add taily sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw add debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye add debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, north tip %%%%%%% /fattailwn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat sub tailx sub enthu mul store /deltaxs tipx tipfat add tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div add sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% east tail, north tip %%%%%%% /fattailen { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat add sub enthu mul store /deltaxs tipx tipfat sub tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div add sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxs add taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxn sub taily tailfat 2 div add debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% west tail, south tip %%%%%%% /fattailws { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat 2 div add tailx sub enthu mul store /deltaxs tipx tipfat 2 div sub tailx sub enthu mul store /deltaye taily tailfat 2 div add tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div sub tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, south tip %%%%%%% /fattailes { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat 2 div add sub enthu mul store /deltaxs tailx tipx tipfat 2 div sub sub enthu mul store /deltaye taily tailfat 2 div sub tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div add tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn sub taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxs sub taily tailfat 2 div add debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store /debug {debugflag {gsave 2 copy black mt dot grestore} if } store /debugflag false store %%%%%%%%%%%% demos -- remove or alter before reuse %%%%%%%%%%%% /blu {0 0 1 setrgbcolor} store % sequence is [ tipx tipy tailx taily tipfat tailfat tipdepth tipspread ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tintmat is a self-generating list of 216 triple color values /webtintmat [ 0 1 5 { /a exch store 0 1 5 { /b exch store 0 1 5 { 5 div b 5 div a 5 div }for } for } for ] def % setwebtint accepts a color number 0 to 215 and then % sets the PostScript color generator for later use... /setwebtint { abs cvi 216 cvi mod % restrict range webtintmat exch 3 mul 3 getinterval % get values from table aload pop setrgbcolor } def % and set them %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CUSTOM ARTWORK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps23.1 {save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % isometric study package /ixf { %isometric transfer xyz to x'y' /zz exch store /yy exch store /xx exch store xx .866 mul yy .866 mul sub xx .500 mul yy .5 mul add zz add } store /irt { % isometric right plane concat WARNING: open gsave gsave ixf translate [.866 .5 0 1 0 0 ] concat} store /ilt { % isometric left plane concat WARNING: open gsave gsave ixf translate [.866 -.5 0 1 0 0 ] concat} store /itt { % isometric top plane concat LEFT LETTERING WARNING: open gsave gsave ixf translate [ .865 -.5 .866 .5 0 0] concat} store /ittalt { % isometric top plane concat RIGHT LETTERING WARNING: open gsave gsave ixf translate [ .865 .5 -.866 .5 0 0] concat} store /ittcyl { % isometric cylinder, straight up x y z diam height % WARNING: open gsave /cylht exch store /cyldia exch store /zzz exch store /yyy exch store /xxx exch store xxx yyy zzz itt 0 0 cyldia 180 0 arc gsave fill grestore 0 0 mt cylht pu line3 stroke } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%% % figure 1c is the inclination declination vector % 35 35 10 setgrid % 54 30 showgrid save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store false { { 0 0 326 278 40 326 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig1.jpg)} setimg 45 45 showgrid } if /font1 /StoneSans 0.85 gonzofont font1 /font2 /StoneSans-Bold 1.2 gonzofont font1 false { 3.5 2.5 mt 12 pu 24.5 pr 12 pd closepath % tint if wanted gsave 69 setwebtint fill grestore black } if 21.5 2 translate % set iso zero % earth top, overwritten by slopes 0 0 2 itt 0 0 mt 22 pl [ 0 0 100 -22 22 70 ] curvetrace % rear slope % 22 pu old rear slope [0 0 15 0.001 22 -15 ] curvetrace % fudge % 20 pr % old right slope closepath gsave 137 setwebtint fill grestore line2 stroke % 0 22 mt dot % check positioning -12.5 3.5 (EARTH'S SURFACE) cc grestore % earth left 0 0 -1 ilt 0 0 mt 22 pl 3 pu [0 0 10 0.001 3 -30] curvetrace closepath gsave 45 setwebtint fill grestore line2 stroke black 1 18 (NORTH) cl grestore % earth right 0 0 -1 irt 0 0 mt 3 pu [0 0 20 22 3 -20] curvetrace % 22 pr % temp till ct 3 pd closepath gsave 3 setwebtint fill grestore line2 stroke grestore %%%%%%%%%%%%%%%%%%%% % incl right 5 19 2 irt 0 0 mt 12 pu 12 pr 12 pd closepath gsave 207 setwebtint fill grestore line1 stroke line2 1.5 4.5 mt 9 r % 3 3 mt 9 u line3 1.5 4.5 mt 9 4.5 rlineto stroke % inc vector 1.5 4.5 7.5 -0 27.5 arc line1 stroke % vector angle 7 2.6 (INCLINATION) cc grestore % decl top 5 19 2 itt 0 0 mt 12 pu 12 pr 12 pd closepath gsave 207 setwebtint fill grestore line1 stroke line2 5 1.5 mt 9 u % 3 3 mt 9 u line3 5 1.5 mt 6 9 rlineto stroke % inc vector 5 1.5 7.5 55.5 90 arc line1 stroke % vector angle gsave 4.3 6 translate 90 rotate 0 0 (DECLINATION) cc grestore grestore % left vector plane red tracer 7 0.5 sub 19 2 ilt 5 setwebtint [0.75 0.4 ] 0 setdash 1 setlinejoin 1 setlinecap line3 0 4.5 mt 5 r 4.5 d grestore % right vector plane red tracer 22.5 26 -.5 ilt 5 setwebtint [0.75 0.4 ] 0 setdash line3 0 4.5 mt 11 r 8.8 d grestore % dir arrows line3 1 setlinejoin 1 setlinecap 12 21 mt 4 u uarrow 12 24 mt 0.4 pl 0.4 1.5 rlineto % arrow tip 0.4 -1.5 rlineto closepath black fill 12 25.8 (UP) cc newpath 12 21 mt line3 gsave 30 rotate 4 r grestore 12 4 .866 mul add % north arrow 21 4 .5 mul add mt -1.2 -.4 rlineto .8 -.4 rlineto closepath fill 16.5 23.5 (NORTH) cc % lettering font1 2 29 (Vector shown is in SOUTHERN HEMISPHERE) cl newpath %%%%%%%%%%% vector routine %%%%%%%%%%%% /vector { /postdia exch store /tipdia exch store /tiplen exch store /postlen exch store itt postlen % arrow tip dup neg exch tipdia 2 div 45 -135 arc tiplen dup neg exch tipdia 2 pop 1.5 div add % huh? fudge rlineto closepath gsave 5 setwebtint fill grestore line1 stroke postlen dup neg exch tipdia 2 div 0 360 arc % arrow base gsave 167 setwebtint fill grestore black line1 stroke 0 0 postdia 2 div -135 45 arc % arrow shaft postlen dup neg exch postdia 2 div 45 -135 arc closepath gsave 5 setwebtint fill grestore line1 stroke 0 0 postdia 2 div 0 360 arc % post end gsave 167 setwebtint fill grestore line1 stroke grestore } store % 0 0 mt dot % 0 0 0 10 2.5 2.5 1 vector gsave -6.5 16.5 translate -64.5 rotate % position floating vector 0 0 0 11.6 2. 2 0.7 vector grestore % spot arrows black -5 26 mt % uppermost inc .1 -.7 rlineto .3 .2 rlineto closepath fill black -4.3 23 mt % lowermost inc -.23 .7 rlineto .3 .3 rlineto closepath fill black 0.05 15.95 mt % uppermost dec .5 -.5 rlineto .3 .2 rlineto closepath fill black 2.5 13.35 mt % ulowermost dec -.5 .6 rlineto .4 .2 rlineto closepath fill % 50 50 showgrid 90 setwebtint % -4.3 23.0 mt dot % inc lowest % -5.0 26 mt dot % inc highest % 2.5 13.35 mt dot % dec lowest % 0.15 15.95 mt dot % dec highest -25 0 translate % boo hiss % 50 50 showgrid figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps26.4 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store false { { 0 0 670 334 30 670 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig4.jpg)} setimg 50 30 showgrid } if /font1 /StoneSans 0.7 gonzofont font1 font1 true { 3.5 2.5 mt 12 pu 24.5 pr 12 pd closepath % tint if wanted gsave 69 setwebtint fill grestore black } if 3.5 2.5 mt 12 pu line2 stroke % vert axis 3.5 2.5 mt 24.5 pr line2 stroke % hor axis line1 % vert ticks 8.5 2.5 mt 0.5 u 13.5 2.5 mt 0.5 u 18.3 2.5 mt 0.5 u 23 2.5 mt 0.5 u font1 3.5 1.4 (0) cc 8.5 1.4 (2000) cc 13.5 1.4 (4000) cc 18.3 1.4 (6000) cc 23 1.4 (8000) cc 27 1.4 (10,000) cc 15 0.4 (YEARS AGO) cc gsave 1.5 8.5 translate 90 rotate 0 0 (FIELD STRENGTH, OERSTEADS) cc grestore 3 2.3 (0) cr 3 8.3 (0.5) cr 3 14.3 (1.0) cr line1 % 3.5 8 mt 0.5 r /curang 10 store /degperunit 3.6 store /ampl 2.9 store /nonlin {curpos 21.7 div 5 exp 0.8 mul } store gsave 4 8.1 translate 0 curang sin ampl mul mt 0 0.2 21.7 {/curpos exch store curpos curang sin ampl mul nonlin add lineto /curang curang degperunit add store} for % 97 setwebtint 1 setlinejoin 1 setlinecap line3 stroke grestore figsnap restore } store %%%%%%%%%%%%%%%%%% /artps43.1 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /yinc 1.5 store /font1 /MyriadPro-Bold [1.5 0 0 1.5 0 0.5] gonzofont font1 /font2 /MyriadPro-Regular 1.2 gonzofont font2 /font3 /MyriadPro-Bold [1.2 0 0 1.2 0 0] gonzofont font1 0 0 mt 56 pu 38 pr 56 pd closepath gsave 214 setwebtint fill grestore gsave newpath % title background0 0 56 mt 4.5 pd 38 pr 4.5 pu closepath 212 setwebtint fill grestore black line1 stroke % 40 56 showgrid 2.5 52.5 (|1MATERIALS |2Ancient pottery |h Bone |h Boiling stones (prehistoric cookers) |h Ceramics |h Fire pits |h Fossil shells |h Glass |h Ice |h Meteors |h Moon |h Polyethylene |h Pottery kilns |h Roof tiles |h Salt |h Sand |h Volcanoes ) cl 14 52.5 (|1MINERALS|2 Alumina |h Anhydrite |h Anthracene |h Borate glass |h Calcite |h Clays |h Diamond |h Dolomite |h Fluorite |h Limestone |h Magnasite |h Obsidian |h Quartz |h Sandstone |h Sapphire |h Silica |h Talc) cl 23.5 52.5 (|1CHEMICAlS|2 Barium titinate Barium fluoride |h Calcium carbonate Calcium oxide Calcium fluoride* Calcium sulfate* Calcium sulfide |h Cesium bromide (AH) Cesium iodide (AH) |h Lithium borate* Lithium bromide (AH) Lithium chloride (AH) lithium fluoride (AH)* Lithium phosphate |h Magnesium oxide Magnesium sulfide |h Potassium bromide (AH) Potassium chloride (AH) Potassium fluoride (AH) Potassium iodide (AH) Potassium sulfate* |h Rhubidium bromide (AH) Rhubidium chloride (AH) Rhubidium iodide (AH) |h Silicon dioxide |h Sodium bromide (AH) Sodium chloride (AH) Sodium fluoride (AH) Sodium iodide (AH) |h Thorium dioxide |h Zinc oxide ) cl /txtwide 999 store 180 setwebtint 2.5 3.5 (|3(AH) = alkali halide;\n* = popular dosimetry material) cl figsnap restore } store %%%%%%%%%%%%%%%%%%%%% /artps44.2a { save /figsnap exch store % 20 20 showgrid /np {newpath} store /mo {moveto} store /cv {curveto} store /cp {closepath} store /lw {setlinewidth} store /lc {setlinecap} store /lj {setlinejoin} store /li {lineto} store /@ {stroke} store /cmyk {setcmykcolor} store /f {fill} store /vi 20 store % one tenth vertical offset 1 1.015 scale % adjust to match % repair lettering /font1 /MyriadPro-Bold [0.6 0 0 0.6 0 0 ]gonzofont font1 /font2 /MyriadPro-Bold [0.4 0 0 0.4 0 0.3 ]gonzofont font1 0 setwebtint 9 13.4 (|1GLOW PEAKS) cl 6.5 1.3 (200) cc 9.8 1.3 (400 ) cc 13.4 1.3 (600) cc % 7.3 3 (0|2o|1) cc % 9.2 3 (212|2o|1) cc gsave 2 5 translate 90 rotate 0 0 (RELATIVE OUTPUT LIGHT) cl grestore black % curvetrace main /tension 4 store [ 3.2 2 5 5.2 5 80 6 11 80 6.7 12.8 0 7.4 11 -80 7.95 8 -80 8.4 6.9 0 8.8 7.8 80 9.1 8.8 0 9.6 7.6 -75 10.15 5.5 -75 10.8 4.5 0 11.2 5.5 85 11.5 6.5 0 12.25 4.5 -65 12.9 3 0 13.2 3.3 0 13.6 2.7 -30 15.0 2.2 -20 ] curvetrace 9 setwebtint gsave 0.2 pd 29 setwebtint fill grestore line2 stroke black gsave 8.8 13.4 translate -155 rotate 0 0 mt 1.7 r rarrow grestore gsave 10.5 13.1 translate -108 rotate 0 0 mt 4.3 r rarrow grestore % fake degrees /cstretch 0 store /sstretch 0 store /font- /MyriadPro-Bold 0.50 gonzofont font- % 7.45 3.3 (o) cc % 10.05 3.3 (o) cc % missing boiling 0.06 setlinewidth 9.2 2 mt 0.7 u /cstretch 0 store /sstretch 0 store /font1 /MyriadPro-Bold 0.8 gonzofont font1 % 9 -0.8 ((A)) cc /font1 /MyriadPro-Bold [0.6 0 0 0.6 0 0 ]gonzofont font1 /font2 /MyriadPro-Bold [0.4 0 0 0.4 0 0.3 ]gonzofont font1 0 setwebtint 7.3 3 (0|2o|1F) cc 9.2 3 (212|2o|1) cc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gsave % shift to illustrator 0.1018 -0.1 scale -38 -200.2 translate np { 185.906 177.069 mo 185.591 176.839 185.196 176.835 184.82 176.833 cv 184.611 176.833 184.477 176.941 184.404 177.083 cv 181.998 176.444 179.591 175.809 177.287 174.852 cv 177.189 174.811 177.104 174.812 177.027 174.828 cv 176.987 174.814 176.951 174.796 176.904 174.792 cv 172.833 174.438 168.511 170.3 167.886 166.284 cv 167.834 165.954 167.408 165.843 167.151 165.985 cv 166.197 166.516 165.757 167.442 165.28 168.393 cv 164.116 170.712 162.934 167.115 162.543 166.017 cv 161.097 161.962 160.061 157.785 158.68 153.708 cv 157.286 149.59 155.564 145.591 154.448 141.38 cv 153.82 139.012 153.223 136.048 151.156 134.485 cv 150.879 134.276 150.613 134.434 150.5 134.681 cv 150.298 134.674 150.103 134.775 150.047 135.034 cv 148.849 140.555 149.829 147.017 147.145 152.099 cv 145.416 155.371 142.455 154.745 140.628 152.026 cv 138.96 149.544 138.506 146.422 137.967 143.548 cv 136.94 138.064 134.708 132.792 133.248 127.399 cv 131.805 122.071 130.373 116.756 128.21 111.665 cv 128.13 111.475 127.986 111.407 127.837 111.41 cv 127.699 111.263 127.492 111.201 127.276 111.36 cv 125.015 113.035 124.723 116.14 124.427 118.733 cv 124.05 122.035 124.409 127.554 121.416 129.829 cv 121.259 129.774 121.08 129.788 120.925 129.938 cv 120.239 130.607 119.684 130.527 119.233 130.074 cv 119.178 130.123 119.103 130.151 119.038 130.191 cv 118.28 128.808 117.925 127.374 117.904 125.792 cv 117.9 125.517 117.715 125.367 117.506 125.326 cv 117.452 124.369 117.414 123.529 117.391 123.311 cv 117.212 121.582 116.967 119.866 116.636 118.159 cv 116.61 118.029 116.544 117.945 116.465 117.887 cv 114.063 104.613 111.644 91.3354 108.761 78.1592 cv 108.729 78.0117 108.649 77.9175 108.551 77.8613 cv 107.825 75.5967 106.554 72.5371 104.293 72.0303 cv 104.382 71.9194 104.461 71.8042 104.563 71.6987 cv 104.472 71.6665 104.372 71.6577 104.271 71.6851 cv 104.022 71.7524 103.799 71.8545 103.575 71.9561 cv 103.317 71.9614 103.052 71.9873 102.771 72.0601 cv 102.457 72.1411 102.369 72.4258 102.438 72.6685 cv 101.01 73.876 100.203 75.8281 99.5991 77.5664 cv 98.2729 81.3867 97.8325 85.521 97.3369 89.5146 cv 96.6699 94.8877 95.4946 100.17 94.6382 105.516 cv 93.5166 112.514 92.6606 119.552 91.8354 126.589 cv 90.5913 137.202 89.8862 148.027 86.7979 158.312 cv 84.0444 167.484 78.7734 176.625 69.021 179.435 cv 68.4023 179.613 68.6655 180.578 69.2866 180.399 cv 78.3687 177.783 83.6616 169.967 86.7905 161.495 cv 90.562 151.282 91.2661 140.166 92.5039 129.446 cv 93.4165 121.542 94.3677 113.643 95.6021 105.782 cv 96.4565 100.344 97.6636 94.979 98.3369 89.5146 cv 98.9048 84.9063 99.3989 79.9639 101.417 75.7202 cv 101.809 74.8965 102.324 74.1475 102.968 73.5029 cv 103.27 73.2007 103.5 73.0308 103.695 72.9502 cv 105.62 72.9829 106.916 75.4614 107.794 78.2656 cv 107.79 78.3164 107.784 78.3672 107.797 78.4248 cv 110.744 91.8931 113.207 105.466 115.662 119.032 cv 115.695 119.021 115.734 119.02 115.768 119.01 cv 116.2 121.417 116.438 123.848 116.7 126.278 cv 116.772 126.249 116.852 126.227 116.933 126.208 cv 117.013 127.836 117.413 129.356 118.222 130.794 cv 118.355 131.032 118.584 131.072 118.783 131.005 cv 119.421 131.607 120.207 131.759 121.179 131.031 cv 121.287 131.057 121.407 131.049 121.531 130.974 cv 124.014 129.47 124.59 126.36 124.919 123.69 cv 125.31 120.52 124.83 114.887 127.476 112.492 cv 130.235 119.098 131.758 126.108 133.766 132.959 cv 134.752 136.326 136.135 139.554 136.845 142.995 cv 137.47 146.024 137.902 149.021 139.347 151.794 cv 141.075 155.11 144.39 156.861 147.225 153.73 cv 148.827 151.961 149.357 149.293 149.648 147.019 cv 150.133 143.22 150.178 139.38 150.949 135.621 cv 152.232 136.824 152.698 138.847 153.162 140.459 cv 153.724 142.415 154.267 144.345 154.926 146.272 cv 156.662 151.344 158.483 156.326 159.987 161.475 cv 160.757 164.112 161.521 168.076 163.529 170.131 cv 165.064 171.702 166.189 168.792 167.115 167.437 cv 168.255 171.591 172.711 175.427 176.904 175.792 cv 176.931 175.794 176.949 175.785 176.974 175.784 cv 176.991 175.793 177.002 175.808 177.021 175.815 cv 179.447 176.824 181.987 177.476 184.521 178.149 cv 184.812 178.227 185.02 178.055 185.101 177.836 cv 185.207 177.844 185.31 177.865 185.401 177.932 cv 185.923 178.313 186.421 177.445 185.906 177.069 cv cp 0 0 0 .67451 cmyk % f 0 setlinewidth stroke } pop black %%%%%%%%%% 1 lw 0.8 setlinewidth 1 lc 1 lj % true sadj 67.4873 60.167 mo 67.4873 180.421 li @ 67.4873 180.421 mo 185.987 180.421 li % bottom @ 185.987 180.421 mo 185.987 56.8335 li % right vertical @ 184.987 1 add 56.8335 mo 67.4873 56.8335 li @ 67.4873 60.167 mo 67.4873 56.8335 li @ 67.4873 77.3335 mo 68.6685 77.3335 li @ 67.4873 77.3335 mo 71.9873 77.3335 li @ 67.4873 94.0005 mo 71.9873 94.0005 li @ 67.4873 112.5 mo 71.9873 112.5 li @ 67.4873 128.5 mo 70.8203 128.5 li @ 67.4873 146.167 mo 71.9873 146.167 li @ 68.0776 162.333 mo 71.9873 162.333 li @ 67.4873 128.5 mo 71.9873 128.5 li @ 83.9873 180.421 mo 83.9873 176.667 li @ 101.32 180.421 mo 101.32 176.667 li @ 117.987 180.421 mo 117.987 176.667 li @ 135.32 180.421 mo 135.32 176.667 li @ 152.987 180.421 mo 152.987 176.667 li @ 169.82 180.421 mo 169.82 176.667 li @ 109.82 180.421 mo 109.82 173.5 li @ 131.82 180.421 mo 131.82 173.5 li %%%%%%%%%%%%%%%%%% /font1 /MyriadPro-Bold [6.72 0 0 -6 0 0 ]gonzofont font1 91.6538 194.667 2.0 add (TEMPERATURE - KELVIN) cl % 105.154 170 (0 F 212 F) cl % 96.1538 187.667 (200 400 600) cl % 118.82 7.5 add 67.667 (GLOW PEAKS)cl % sideways %/font2 /MyriadPro-Bold [.165907 -6.71795 -5.99817 -.148132 0 0 ]gonzofont font2 % 59.9874 162.025 (RELATIVE OUTPUT LIGHT)cl gsave 59.9874 162.025 translate -90 rotate font1 % 0 0 (RELATIVE OUTPUT LIGHT) cl grestore % out of illustrator figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps44.2b { save /figsnap exch store /np {newpath} store % illustrator commands /mo {moveto} store /cv {curveto} store /cp {closepath} store /lw {setlinewidth} store /lc {setlinecap} store /lj {setlinejoin} store /li {lineto} store /@ {stroke} store /cmyk {setcmykcolor} store /f {fill} store % 20 20 showgrid save /figsnap exch store /cstretch 0 store /sstretch 0 store %%%%%%%%%%%% illustrator to gonzo translation %%%%%%%%%%%%%% % Original filename: ref422b.txt % Original path: C:\Documents and Settings\don 2\Desktop\EW reprints\new gonzo\ % xoffset: 212.2 % yinversion: 190.7 % xgain: 6.888 % ygain: 190.7 [ 2 2 45 14 14 45 20 16 0 ] curvetrace 9 setwebtint gsave 14 pd 29 setwebtint fill grestore line2 stroke black np line2 1 lc 1 lj 2.0 20 mo 2.0 2.0 li .75021 .679683 .670222 .90164 cmyk @ 2.0 2.0 mo 20.0 2.0 li @ 20.0 2.0 mo 20.0 5.5 li @ 20.0 2.0 mo 20.0 20.0 li @ 20 20 mo 2.0 20 li @ 2.0 20 mo 2.0 20 li @ 20 20 mo 20 20 li @ 20 2.0 mo 20.0 2.0 li @ 20 2.0 mo 20.0 2.0 li @ 4.7 2.0 mo 4.7 2.5 li @ 7.1 2.0 mo 7.1 2.5 li @ 9.7 2.0 mo 9.7 2.5 li @ 12.3 2.0 mo 12.3 2.5 li @ 14.7 2.0 mo 14.7 2.5 li @ 17.4 2.0 mo 17.4 2.5 li @ 2.0 4.7 mo 2.7 4.7 li @ 2.0 7.0 mo 2.7 7.0 li @ 2.0 9.6 mo 2.7 9.6 li @ 2.0 12.0 mo 2.7 12.0 li @ 2.0 14.6 mo 2.7 14.6 li @ 2.0 17.1 mo 2.7 17.1 li @ /font1 /MyriadPro-Bold [ 1.0 0.0 0.0 0.77 0.0 0.0 ] gonzofont /font1 /font2 /MyriadPro-Bold [ 0.6 0.0 0.0 0.6 0.0 0.4 ] gonzofont /font1 /kern .1 store 4.1 -0.2 (|1RADIATION DOSAGE - RADS) cl 2 0.9 (|11 )cc 4.8 0.9 (|11|k0)cc 7.2 0.9 (|11|k0|22|1) cc 9.7 0.9 (|11|k0|23|1) cc 12.3 0.9 (|11|k0|24|1) cc 14.8 0.9 (|11|k0|25|1) cc 17.4 0.9 (|11|k0|26|1) cc % 4.7 0.9 (|110|20|1 10|21|1 10|22|1 10|23|1 10|24|1 10|25|1 )cl 0.9 2.0(|11)cl 3.5 13.0 (|1LINEAR REGION) cl 10.0 16.7 (|1SATURATION)cl { 19.8 16.2 mo 19.6 16.2 19.4 16.1 19.2 16.2 cv 19.2 16.2 19.2 16.1 19.2 16.1 cv 19.1 16.2 19.1 16.1 19.1 16.2 cv 18.3 16.3 17.5 16.0 16.7 16.0 cv 16.4 15.9 16.1 15.8 15.8 15.7 cv 15.5 15.6 15.2 15.2 15.0 15.0 cv 14.9 15.0 15.0 14.8 15.0 14.9 cv 15.2 15.1 15.4 15.2 15.6 15.4 cv 15.9 15.7 16.4 15.7 16.8 15.8 cv 17.5 16.0 18.3 16.1 19.1 16.0 cv 19.2 16.0 19.2 16.0 19.2 16.1 cv 19.2 16.1 19.2 16.0 19.2 16.1 cv 19.4 16.0 19.6 16.0 19.8 16.0 cv 19.9 16.0 19.9 16.1 19.8 16.2 cv cp f } pop % no original ct /font1 /MyriadPro-Bold[ 0.95 0.0 0.0 0.77 0.0 0.0 ] gonzofont /font1 2.7 19.0 (NOTE: 1 RAD = 100 ERGS OF ABSORBED)cl 3.9 18.1 (ENERGY PER GRAM OF MATERIAL)cl 0.3 4.5 (1|k0) cl % xsh of 3.757 0.3 6.7 (1|k0|22|1) cl 0.3 9.3 (1|k0|23|1) cl 0.3 11.6(1|k0|24|1) cl 0.3 14.2(1|k0|25|1) cl 0.3 16.7(1|k0|26|1) cl gsave -1.1 2.2 translate 90 rotate 0 0 (RELATIVE TOTAL RECOVERED LIGHT)cl grestore gsave -0.2 3.5 translate 90 rotate 0 0 (( AREA UNDER GLOW CURVE )) cl grestore /font3 /MyriadPro-Bold [ 1.0 0.0 0.0 1.01 0.0 0.0 ] gonzofont /font3 % 10.0 -1.3 (|3( B )) cc gsave 13 16.3 translate -20 rotate 0 0 mt 2.5 r rarrow grestore gsave 7 12.5 translate -50 rotate 0 0 mt 3.5 r rarrow grestore %%%%%%%%%%% end translation %%%%%%%%%% figsnap restore} store %%%%%%%%%%%%%% /artps44.2c { save /figsnap exch store % 35 35 10 setgrid % 50 20 showgrid /np {newpath} store /mo {moveto} store /cv {curveto} store /cp {closepath} store /lw {setlinewidth} store /lc {setlinecap} store /lj {setlinejoin} store /li {lineto} store /@ {stroke} store /cmyk {setcmykcolor} store /f {fill} store % starting new code /tension 6 store [3.1 3.1 0 5 6.5 70 6 11.2 0 7 7 0 7.9 9.4 0 9.5 5.2 0 10.4 7 0 11.5 4.5 0 12.3 5.8 0 13 4 -45 15.9 3.2 0 ] curvetrace 9 setwebtint gsave 0.2 pd 29 setwebtint fill grestore line2 stroke 24.3 3.1 mt 0.2 pu [ 0 0 0 26.3 5.5 65 27 8 0 28.7 4.2 0 29.5 5 0 30.5 4 -20 32.9 3.3 0 ] curvetrace 9 setwebtint gsave 0.3 pd 29 setwebtint fill grestore line2 stroke 44.3 3.1 mt 0.2 pu [0 0 0 47 3.7 0 48.5 4 0 49.9 3.3 0 ] curvetrace 9 setwebtint gsave 0.3 pd 29 setwebtint fill grestore line2 stroke black line2 3 3 mt 9 pu 13 pr 9 pd closepath stroke 20 3 mt 9 pu 13 pr 9 pd closepath stroke 37 3 mt 9 pu 13 pr 9 pd closepath stroke /spc 13 6 div store gsave 3 3 translate [{0 0 mt 0.7 u} spc 6 ] xrpt grestore gsave 20 3 translate [{0 0 mt 0.7 u} spc 6 ] xrpt grestore gsave 37 3 translate [{0 0 mt 0.7 u} spc 6 ] xrpt grestore /cstretch 0 store /sstretch 0 store /font1 /MyriadPro-Bold [ 0.6 0.0 0.0 0.65 0.0 0.0 ] gonzofont /font1 /font2 /MyriadPro-Bold [ 0.5 0.0 0.0 0.5 0.0 0.4 ] gonzofont /font1 /font3 /MyriadPro-Bold [ 0.8 0.0 0.0 0.8 0.0 0.0 ] gonzofont /font1 3 13 2 div add 1.4 (|1DEGREES KELVIN) cc 20 13 2 div add 1.4 (|1DEGREES KELVIN) cc 37 13 2 div add 1.4 (|1DEGREES KELVIN) cc { gsave 9 3 mt 1.2 u % farenheiters 10.8 3 mt 1.1 u 9.3 4.5 (|10|2o|1F) cc 10.8 4.5 (|1212|2o|1F) cc grestore} pop { gsave 17 0 translate 9 3 mt 1.1 u % farenheiters 10.8 3 mt 1.2 u 9.3 4.5 (|10|2o|1F) cc 10.8 4.5 (|1212|2o|1F) cc grestore} pop gsave 34 0 translate 9 3 mt 1.1 u % farenheiters 10.8 3 mt 1.2 u 9.3 4.5 (|10|2o|1F) cc 10.8 4.5 (|1212|2o|1F) cc grestore 3 spc 0 mul add 2.3 (|10) cc 20 spc 0 mul add 2.3 (0) cc 37 spc 0 mul add 2.3 (0) cc 3 spc 2 mul add 2.3 (|1200) cc 20 spc 2 mul add 2.3 (200) cc 37 spc 2 mul add 2.3 (200) cc 3 spc 4 mul add 2.3 (|1400) cc 20 spc 4 mul add 2.3 (400) cc 37 spc 4 mul add 2.3 (400) cc 3 spc 6 mul add 2.3 (|1600) cc 20 spc 6 mul add 2.3 (600) cc 37 spc 6 mul add 2.3 (600) cc gsave 2 3.5 translate 90 rotate 0 0 (|1RELATIVE OUTPUT LIGHT) cl grestore font3 3 13 2 div add 0 (|3(A)) cc 20 13 2 div add 0 (|3(B)) cc 37 13 2 div add 0 (|3(C)) cc % transformed illus code here %%%%%%%%%%%%%%%%%%%%% % Original filename: il2gon44b.txt % Original path: C:\Documents and Settings\don 2\Desktop\EW reprints\thlum\ % xoffset: 299.2 % yinversion: 3540.0 % xgain: 74.8 % ygain: 3540.0 % totally screwed % deleted figsnap restore } store %%%%%%%%%%%%%%%%% /artps26.5 { % reversals thermometer save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 0.9 store /ypos 0 store /xpos 0 store false { { 0 0 1128 224 50 1128 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig5raw.jpg)} setimg 50 30 showgrid } if /font1 /StoneSans 0.7 gonzofont font1 font1 25 0.3 (AGE IN MILLIONS OF YEARS AGO) cc gsave 4 0.2 translate % recenter boxes 6 6.8 (= FIELD NORMAL (|jCOMPASS POINTS NORTH|j)) cl 25 6.8 (= FIELD REVERSED (|jCOMPASS POINTS SOUTH|j)) cl 4.4 6.3 mt 1.2 pu 1.2 pr 1.2 pd closepath % bottom box gsave 69 setwebtint fill grestore line1 stroke 4.4 19 add 6.3 mt 1.2 pu 1.2 pr 1.2 pd closepath % top box gsave 59 setwebtint fill grestore black line1 stroke grestore line1 stroke /orfill {gsave newpath 59 setwebtint % orange fill input start and width exch 3.5 mt 2 pu pr 2 pd closepath fill grestore} store 2.2 3.5 mt 2 pu 47.3 pr 2 pd closepath % main bar true {gsave 69 setwebtint fill grestore} if 2.8 0.15 orfill 9.6 2.1 orfill 12.5 6.8 orfill 19.8 0.15 orfill 21.2 1.5 orfill 23.3 1.2 orfill 24.8 3.0 orfill 31.8 0.9 orfill 33.2 1.3 orfill 37 3.8 orfill 43 1.4 orfill 46.4 1.2 orfill 49 0.4 orfill line2 stroke line1 2.2 3.3 mt 1 d 2.2 1.5 (PRESENT) cc 13 3.3 mt 1 d 13 1.5 (1) cc 23.4 3.3 mt 1 d 23.4 1.5 (2) cc 33.8 3.3 mt 1 d 33.8 1.5 (3) cc 44 3.3 mt 1 d 44 1.5 (4) cc 49 3.3 mt 1 d 49 1.5 (4.5) cc figsnap restore } store %%%%%%%%%%%%%%%%%%% /remotetones { gsave .5 0.3 0 setrgbcolor font3 txtwide 2 div 0 yinc add 0.8 sub pstitle cc grestore gsave 0.3 4.5 translate 0 0 mt 20 pu txtwide 0.6 sub pr 20 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 0 0 mt 20 pu 8.5 pr 20 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu txtwide 0.6 sub pr 4 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu 8.5 pr 4 pd closepath 0 0.85 0.85 setrgbcolor fill grestore 0 1 1 setlinewidth line3 stroke black line1 8.5 0 mt 20 u 12.5 0 mt 20 u 16.5 0 mt 20 u 20.5 0 mt 20 u 24.5 0 mt 20 u 28.5 0 mt 20 u /tabs [ 1 9.5 13.5 17.5 21.5 25.5 29.5 ] store 30.5 0.2 add 18.3 (|4Zenith\n4 tone) cc 26.5 18.3 (|4Sylvania\n7 tone) cc 22.5 18.3 (|4RXR\n8 tone) cc 18.5 18.3 (|4RCA\n7 tone) cc 14.5 18.3 (|4Motorola\n3 tone) cc 10.5 18.3 (|4Admiral\n6 tone) cc 0 16 mt txtwide 0.6 sub line1 r 0 14.3 (|4|tVolume "Up" |t42.5 |t41.5 |t43.25 |t43.25 |t37.25 |t37.75) cl 0 12.9 (|4|tVolume "Down" |t42.5 |t40.0* |t38.75 |t38.75 |t38.75 |t38.75**) cl 0 12 mt txtwide 0.6 sub line1 r 0 10.3 (|t|4Color "Up" |t41.0 |t ---- |t44.75 |t44.75 |t43.25 |t ----)cl 0 8.9 (|t|4Color "Down" |t39.5 |t ---- |t37.25 |t37.25 |t40.25 |t ---- ) cl 0 8 mt txtwide 0.6 sub line1 r 0 6.3 (|t|4Tint Red (CCW) |t36.5 |t38.5* |t35.75 |t35.75 |t44.75 |t40.25**) cl 0 4.9 (|t|4Tint Green (CW) |t38.0 |t41.5* |t34.25 |t34.25 |t35.75 |t41.25**) cl 0 4 mt txtwide 0.6 sub line1 r 0 2.3 (|t|4V.H.F. Channel |t35.0 |t38.5 |t40.25 |t40.25 |t41.25 |t41.25(+)) cl 0 0.9 (|t|4U.H.F. Channel |t ---- |t ---- |t ---- |t41.75 |t ---- |t40.25(-)) cl grestore /yinc 0.8 store font5 0 3 (*40.0 mutes sound and activates hue controls. **38.75 mutes sound and activates hue controls in place of channel change.) cf } store /artew45 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 1 store /ypos 0 store /xpos 0 store false { { 0 0 1348 1008 40 1348 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\trace1.jpg)} setimg 40 30 showgrid } if /ltorange {1 0.8 0.6 setrgbcolor} store /dkorange {1 0.6 0 setrgbcolor} store true { % cancel background gsave -1 -1 mt 31.5 pu 40 pr 31.5 pd closepath 0.85 1 0.7 setrgbcolor fill grestore } if gsave 1 setlinecap 1 setlinejoin 3.5 11 mt 2 pr 4 pu 1 pr % n2 line 0.55 0.55 0.55 setrgbcolor 0.4 setlinewidth stroke grestore gsave 6.5 10 mt 15.5 pu 10 pr 15.5 pd closepath gsave 0.5 0.5 0.5 setrgbcolor fill grestore 0.8 0.8 0.8 setrgbcolor line3 stroke grestore line1 black 14 12.5 mt 8 r currentpoint mt dot % from heater % 13 18.5 mt rarrow gsave % thermocoouple 1 0 1 setrgbcolor 1 setlinecap 1 setlinejoin 0.35 setlinewidth 12.5 12.5 mt 2.8 r stroke grestore 22 4 mt 16.25 u 2 r % main vert line 22 8.5 mt darrow 22 16 mt darrow 18 12.5 mt rarrow line1 black 11.5 6 mt 6 u 11.5 9 mt uarrow gsave % sample 9 12.5 mt 0.5 0.5 rlineto 0.5 0.5 rlineto 0.5 0.25 rlineto 0.5 0.25 rlineto 0.5 0 rlineto 0.5 0 rlineto 0.5 -0.25 rlineto 0.5 -0.25 rlineto 0.5 -0.5 rlineto 0.5 -0.5 rlineto closepath 0 1 0 setrgbcolor fill grestore 8.5 11.5 mt 1.7 pu 6 pr 1.7 pd closepath % heater gsave ltorange fill grestore dkorange line2 stroke black font1 line1 gsave black % filter arrow 5 19 translate -30 rotate 0 0 mt 4.25 r currentpoint rarrow grestore gsave black % thermo arrow 16 9 translate 105 rotate 0 0 mt 3.25 r currentpoint rarrow grestore 10.5 22.5 mt 4 pd [ 0 0 -45 10.5 2 add 18.5 45 ] curvetrace 4 pu closepath % photomultiplier gsave ltorange fill grestore dkorange line2 stroke black font1 2.5 4.2 mt 5.5 pu [0 0 90 4.5 9.7 -90] curvetrace % bottom of n2 tank 5.5 pd closepath % bottom of n2 tank gsave ltorange fill grestore dkorange line2 stroke black font1 3.5 11 0.75 0 360 arc % n2 gauge gsave ltorange fill grestore dkorange line2 stroke black font1 black line1 15 4 mt 11 pr 17.5 4 mt larrow 24 4 mt larrow line1 11.5 22.5 mt 5 pu 23.5 pr 9 d 26.5 27.5 mt dot 26.5 27.5 mt 5.5 d 26.5 25.5 mt darrow 35 25.5 mt darrow 32 20.5 mt 3.5 pu 6 pr 3.5 pd closepath gsave ltorange fill grestore dkorange line2 stroke black font1 32 3 add 21.5 0.5 add (INTEGRATOR) cc 20 27.5 mt 1 u 3 -1 rlineto -3 -1 rlineto closepath % amplifier gsave ltorange fill grestore dkorange line2 stroke black font1 8 2 mt 4 pu 7 pr 4 pd closepath % prop power control gsave ltorange fill grestore dkorange line2 stroke black font1 26 2 mt 4 pu 7 pr 4 pd closepath % ramp gen gsave ltorange fill grestore dkorange line2 stroke black font1 23.5 18.5 mt 3.5 pu 6 pr 3.5 pd closepath % xy recorder gsave ltorange fill grestore dkorange line2 stroke black font1 22 4 1.33 0 360 arc % error amp gsave ltorange fill grestore dkorange line2 stroke black font1 32 15.5 mt 3.5 pu 6 pr 3.5 pd closepath gsave ltorange fill grestore dkorange line2 stroke black font1 32 3 add 17.5 0 add (DIGITAL\nREADOUT) cc 32 3 add 14 (TOTAL DOSAGE\nDISPLAY) cc 9 16.5 mt 0.55 pu 5 pr 0.55 pd closepath % filter gsave ltorange fill grestore dkorange line2 stroke black 3 3 (NITROGEN\nQUENCHING\nSUPPLY) cc 22 1.5 (ERROR\nAMPLIFIER) cc 17.5 8 (THERMOCOUPLE\nTEMPERATURE\nSENSOR) cc 3 19.5 (OPTICAL\nFILTER) cc 6 27 (LIGHT-TIGHT\nENCLOSURE) cc 21.5 25.3 (AMPLIFIER) cc 26.5 17 (GLOW-CURVE\nDISPLAY) cc 14 24 (PHOTO-\nMULTIPLIER) cc 11.5 4.7 (PROPORTIONAL\nPOWER\nCONTROLLER) cc 29.5 4.75 (RAMP GEN\nSETS HEATING\nRATE) cc 11.5 12 (HEATER) cc 11.5 14.5 (SAMPLE) cc 26.5 20.3 (X-Y\nRECORDER) cc figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % AUTOBOOK ROUTINES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /startbook { /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse [/CropBox [0 0 bookwide bookhigh] /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /SinglePage % no rolling /Pagemode /FullScreen % fullscreen if not on web /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark} store /autopage { save /autosave exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse /ypos topline yinc mul store % initialize to top of page pagescript { aload pop exec } forall showpage autosave restore } store /showrightpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 txtwide 0 curnum cr } store /showleftpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 0 0 curnum cl} store %%%%%%%%%%%%%%% /settext { /curtxt exch store toptextline {toplineparaindent {(|p)}{(|z)} ifelse }{(|p)} ifelse (|y|1\n) mergestr 0 exch ypos exch % assumes 0 xpos curtxt mergestr 0 exch ypos exch cfy /toptextline false store %%%% /ypos ypos yinc 2 div add store % not sure why ADD here } store %%%%%%%%%%%% /settan {/tanmsg exch store /xtanindent exch store /numtanlines exch store save /tansave exch store numtanlines xtanindent ypos yinc 2 div add tanmsg setoldwhitebox tansave restore /ypos ypos numtanlines 2 add yinc mul sub store /ypos ypos yinc sub store } store /setoldwhitebox {save /owbsnap1 exch store % detail proc used by settan /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /tabs [1.5] store % optional for bullets only /yinc 1.6 store /txtwide 30 store /pm 0 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.5 gonzofont /font5 /StoneSans 1.5 gonzofont font5 font1 % huh? xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 1 0.7 0.5 setrgbcolor fill grestore .5 0.3 0 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf owbsnap1 restore } store %%%% setimage /setimg { exec /comesfromurl exch store /goestourl exch store /imscale exch store /imyres exch store /imxres exch store /imyshift exch store /imxshift exch store % /ypos ypos imyres imscale mul sub yinc 2 div sub store % positions figure LEAVE OUT? save /jpgsnap exch store imxshift ypos imyshift add imxres imyres imscale goestourl comesfromurl jpegimageprocwithlink jpgsnap restore /ypos ypos yinc 1.5 mul sub store % positions what will follow below } store %% center title /centit { /cenmsg exch store font7 /ypos ypos yinc 1.5 mul sub store gsave .5 0.3 0 setrgbcolor 0 yinc translate % shift ONLY the title xcen ypos cenmsg cc grestore % NO preserve yinc here /ypos ypos yinc 0.5 mul sub store } store %% setdef /setdef {/sdmsg exch store /defxposn exch store /numdeflines exch store toptextline {/ypos ypos yinc add store } if % adjust if top of page /ypos ypos yinc 0.5 mul sub store numdeflines defxposn ypos sdmsg setoldgraybox /ypos ypos yinc numdeflines 3.5 add mul sub store } store /setoldgraybox {save /ogbsnap1 exch store % serves setdef /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /gtxt (|p|y|1\n) gtxt mergestr store /yinc 1.6 store /txtwide 30 store /pm -4 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.2 gonzofont /font5 /StoneSans 1.2 gonzofont font5 xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 0.8 1 1 setrgbcolor fill grestore 0.1 .5 .5 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf ogbsnap1 restore } store /settitbox { save /tit1snap exch store /maintxt exch store maintxt == % hidden problem here??? /tittext exch store tittext == /txtindent exch store txtindent == /boxxindent exch store boxxindent == /txtlines exch store txtlines == (-----------------------------------------) /boxwide 31 store /tabs [-1.5 4] store % first is for bullets; second is for indented definitions /font4 /MyriadPro-Bold 1.3 gonzofont font4 /font5 /StoneSans 1.2 gonzofont font5 /font6 /StoneSans-Bold 1.2 gonzofont /yinc 1.515 store boxxindent ypos txtlines 4 add yinc mul sub translate gsave 0 0 mt txtlines 2 add yinc mul pu boxwide pr txtlines 2 add yinc mul pd closepath gsave 1 0.8 1 setrgbcolor fill grestore 0.2 setlinewidth 0.5 0.2 0.5 setrgbcolor stroke txtindent txtlines yinc mul 0.3 add maintxt cl { asdfasdfasdf gsave % shifted title 0 txtlines 2 add yinc mul translate 0 0 mt 2.5 pu boxwide pr 2.5 pd closepath 0.5 0.2 0.5 setrgbcolor gsave fill grestore 0.2 setlinewidth stroke % white font4 boxwide 2 div 0.8 tittext cc } pop grestore grestore ypos txtlines 5.5 add yinc mul sub tit1snap restore /ypos exch store } store /lineadj {yinc mul ypos add /ypos exch store} store % adjusts custom vertical position /setps { exec /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store /setpswithtitle { /pstitle exch store /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store %%%%%%%%%%%%%%%%% faster page experiment /startpage { /toplineparaindent exch store /pagenum exch store save /pagesnap1 exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum 998 lt { pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse } if /ypos topline yinc mul store % initialize to top of page } store /endpage { showpage pagesnap1 restore } store /changecolumn {txtwide 3 add 0 translate /ypos topline yinc mul store % reinitialize to top of page /toptextline true store} store /setlowleft {/msg exch store font3 0 -1 msg cl} store /setlowright {/msg exch store font3 txtwide -1 % presumes colulm 2 msg cr} store /setendarrow {gsave txtwide 1.2 sub 2.45 mt 0.5 1 rlineto 0.5 -1 rlineto % temp closepath 0 0 1 setrgbcolor fill grestore} store /setfigtit {exec (|z|y\n) exch mergestr /msg exch store /tyshift exch store /txshift exch store /titlines exch store save /msgsnap exch store /txtwide txtwide 4 sub store /yinc 1 store 0 0 1 setrgbcolor font8 txshift ypos tyshift yinc mul add translate 0 0 msg cf msgsnap restore } store /setfigtitwide {exec (|z|y\n) exch mergestr /msg exch store /tyshift exch store /txshift exch store /titlines exch store save /msgsnap exch store /txtwide 999 store % /txtwide txtwide 4 sub store /yinc 1 store 0 0 1 setrgbcolor font8 txshift ypos tyshift yinc mul add translate 0 0 msg cf msgsnap restore } store %%%%%%%%%% web friendly colors %%%%%%%%%%% % see < http://www.tinaja.com/glib/webcolor.psl > for details or .pdf for chart % tintmat is a self-generating list of 216 triple color values /webtintmat [ 0 1 5 { /a exch store 0 1 5 { /b exch store 0 1 5 { 5 div b 5 div a 5 div }for } for } for ] def % setwebtint accepts a color number 0 to 215 and then % sets the PostScript color generator for later use... /setwebtint { abs cvi 216 cvi mod % restrict range webtintmat exch 3 mul 3 getinterval % get values from table aload pop setrgbcolor} def % and set them %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % GLOBAL BOOK VALUES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /inches {72 mul} store /bookwide 8.5 inches store /bookhigh 11 inches store /showthegrid false store /leftgutter 38 store /bottomgutter 35 store /topline 72 store % normal top line /xpos 0 store % normal left margin /aftergridparams { /pm 1.5 .02 sub store /yinc 1.35 store /txtwide 3.4 inches 7.2 div store /xcen txtwide 2 div store /xcenwide txtwide 1.5 add store /kern 0.1 store /cstretch 0 store /sstretch 0 store /font1 /StoneSerif [1.20 .025 sub 0 0 1.20 0 0 ] gonzofont font1 /font2 /StoneSerif [1.20 .025 sub 0 0.2 1.20 0 0 ] gonzofont % fake italic /font3 /StoneSans-Bold [1 0 0 1 0 0 ] gonzofont % bold for titles /font8 /StoneSans-Bold [0.9 0 0 0.9 0 0 ] gonzofont % bold for titles /font4 /StoneSans [0.9 0 0 1.2 0 0 ] gonzofont % compressed main large figure /font5 /StoneSans [0.9 0 0 0.9 0 0 ] gonzofont % fine print for figure /font6 /StoneSerif-Bold [1.38 0 0 1.38 0 0 ] gonzofont font6 font1 % must be font6 for /to /font7 /MyriadPro-Bold [1.6 0 0 1.15 0 0 ] gonzofont % for centered titles /font7 /StoneSerif-Bold [1.15 0 0 1.15 0 0 ]gonzofont % try a serif title } store startbook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PAGE SCRIPTS START HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % degree is \260 but not avail use o instead %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (44) setlowleft %%%%%%%%%%%% % custom set nonstandard intro save /snap1 exch store % see page 43 for title code snap1 restore %%%%%%%%%%%%%%%%%%%% -13 lineadj black % need drop cap H 3 lines NOT USED /indentcount 3 store /dropindent 3.5 store /font: /StoneSerif-Bold [4.5 0 0 4.8 0 -3.9] gonzofont /setbrown { 87 setwebtint } store /setblack { 0 setwebtint } store setbrown {3 2.3 1.8 % lines xindent yadj (Figure 1. (A) Typical glow curve. (B) Typical dosage curve.)} setfigtit { 0 19.5 1.8 0.7 % lines xshift yadjust scale (artps44.2b)} setps { 0 -1 1.4 1.0 % lines xshift yadjust scale TEMP sitin (artps44.2a)} setps black (|1|p|y Things are fine with our crystal until some high-energy particle comes along - the familiar |2alpha|1, |2beta|1, or |2gamma|1 particles we'd get in any nuclear reaction, or perhaps a par- ticle from an ultraviolet laser. One of these particles could "blast" one of the ions and literally knock an electron into orbit. ln the process, the electron gets its own energy level raised so that it can not be recaptured by its own ion, and thus is free to wander throughout the crystal lattice. If more particles strike the crystal, more electrons can be knocked loose and are free to roam around the crystal: they all have too much energy to get recaptured, and an |2electron|1 cloud forms. The greater the radiation, or the longer the radiation dosage lasts, the bigger the electron cloud. Electron clouds cannot thermoluminesce by themselves. If the crystals were perfect, there would be no thermolumines- cence. But crystals have imperfections and have impurities locked into their lattice structures, similar to the |2n|1 and |2p|1 impurity doping found in semiconductors. They can have mechanical structure defects. At higher temperatures, they can have "statistical" defects, caused by thermal agitation. Some of these defects can capture a loose electron. These are called |2traps|1, and once an electron gets trapped, it is stuck there, at least for the time being. A trap that has caught an electron is known as a |2filled trap|1. The greater the radiation dosage, the more electrons that get knocked loose, and the greater the number of filled traps. Each trap can only supply so much holding energy to an electron. If we heat the material the electrons can achieve enough additional thermal energy so that the trap releases the electron. Certain types of traps will also cause the elec- tron to release its own excess energy in the form of light when the release temperature is reached. These traps produce thermoluminescence; they are also related to the mechanisms that determine the color of substance. Once the electron has released its excess energy, it is free to again get captured by an ion having a missing electron. Thus removing the effect of the radiation dosage. To summarize, energy from external radiation increases the energy of some internal electrons and breaks them loose, forming an electron cloud. Some of the electrons get trapped by any crystal imperfections. Heating the crystal at some later time releases the extra kinetic energy stored in the trapped electrons and, for certain traps, the excess energy can be liber- |k) settext save /specsnap exch store % need extra title width /txtwide 9999 store {3 2.3 0.7 % lines xindent yadj (Figure 2. Glow curves produced (A) when the material is irradiated at low temperature and its thermoluminescent measurement gets made immediattely. (B) When material remains at "room" temperature for a long time, and (C) when material is annealed at high temperature. )} setfigtit specsnap restore changecolumn 0 lineadj (|1|z|y ated as light, thereby producing thermoluminescence.|p Certain traps can very tenaciously hold onto an electron, while others can only retain one weakly. These are known as |2high-energy|1 and |2low-energy|1 traps. Small temperature in- creases can empty low-energy traps, but a large temperature increase is needed to empty a high-energy trap. When long, uniform dosage rates are being used, the |2equilibrium temper- ature|1 is defined as that temperature at which thermal agita- tion is emptying the traps just as fast as incident radiation is filling them.) settext (Glow Curves) centit (If we take some crystalline substance with imperfections and blast it at a fairly low temperature with nuclear radiation, and then crush the sample and heat it at a constant rate, we would get a light-vs-temperature curve called a |2 glow curve|1. One such curve appears in Fig. 1A. The glow curve has |2glow peaks|1 that correspond to different energy-level traps that are released as the increasing sample temperature provides more and more thermal energy. The shape of the glow curve depends upon the material selected, as does the position of the glow peaks and their number. The total area under the glow curve, or the tota1 light produced, is proportional only to the received radiation dosage and nothing else. While the heating rate will affect the height of the glow peaks, it does not affect the total amount of light produced. If we ran the glow curve over and over again for increasing dosage rates, we would generate a |2dosage curve|1, such as that shown in Fig. lB. Dosage is normally expressed in |2rads|1. One rad will be equal to 100 ergs of absorbed energy per gram of sample. As the figure shows, the total recovered light will be proportional to the radiation dosage. Once given a suitable calibration, we can measure the dosage simply by measuring the total light produced when the glow curve was generated. An extreme dosage could fill up all the traps and |2saturate|1 the material. However, this is usually such an extreme am- ount of radiation that almost all of the thennolumincsccnt measurements are made well down on the dosage curve, retaining a linear relation between dosage and light level. The output light is shown in relative units. The actual output depends upon how the material was prepared, the number of traps, the optics and photomultiplier in use, and the electronic amplification. Calibration is necessary when a substance is undergoing a measurement. By exposing the material to a known radiation dosage, an output light level will be obtained. This level can be compared to a measured output to determine an unknown dosage by use of simple proportion. How much light is produced depends upon the material and the dosage. Certain materials will generate enough thermoluminescence to read a newspaper by for up to several minutes; others emit light so feebly that rather elaborate precautions are needed to get meaningful results. Some materials do not thermoluminesce at all. Table 1 lists some of the more interesting materials, min- |k) settext { 0 -37 -15 1.4 % lines xshift yadjust scale TEMP sitin (artps44.2c)} setps % setendarrow (ELECTRONICS WORLD) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page 45 %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster THML45.PSL page 45 % Copyright c 2011 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. % Routine attempts to speed up improving a ClearScan ebook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % OLDER SERVICE ROUTINES COPIES HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% links menu directory %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below % zzzz keep for search marker % dictionary method << % entered during gg116 /ebksamp1.asp (http://www.tinaja.com/ebksamp1.asp) /tvtcb.pdf (http://www.tinaja.com/ebooks/tvtcb.pdf) /unhalf.pdf (http://www.tinaja.com/glib/unhalf.pdf) >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%% tints to replace italic fonts %%%%%%%%%%%%% /to {tinton1 font6} store /tx {tintoff font1} store /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def %%%%%%%%%%%%%%%%% new curvetrace routines %%%%%%%%%%%%%%% % (2a) improved gonzo curvetrace % . . . . . % curvetrace2 - creates a smooth curved path from a data point list. % enter with currentpoint set and absolute array. % 0 0 as initial data appends path; any other values % creates new path. A "999" angle of any intermediate points % will be replaced by a good guess. % /fixgusses replaces any intermediate point angle guess of "999" with a best % effort guess of using the tangent angle that results if you draw a circle % through the adjacent two points. /reportnewangles true store /fixguesses {/curvelist exch store 5 3 curvelist length 3 sub { /cptr exch store curvelist cptr get 360 gt { curvelist cptr 5 sub get curvelist cptr 4 sub get curvelist cptr 2 sub get curvelist cptr 1 sub get curvelist cptr 1 add get curvelist cptr 2 add get fixangle curvelist exch cptr exch put } if } for reportnewangles {curvelist == } if % return angles if desired curvelist } def % /fixangle is used by fixguess. Given three points, draw a circle through the % points, then calculate and return the tangent angle of the middle point. /fixangle { /y3 exch store /x3 exch store /y2 exch store /x2 exch store /y1 exch store /x1 exch store y2 y1 sub x2 x1 sub atan 90 sub tan /mm exch store % find first bisector x2 x1 sub 2 div x1 add /px1 exch store y2 y1 sub 2 div y1 add /py1 exch store /bb py1 px1 mm mul sub store y3 y2 sub x3 x2 sub atan 90 sub tan /nn exch store % find second bisector x3 x2 sub 2 div x2 add /px2 exch store y3 y2 sub 2 div y2 add /py2 exch store /cc py2 px2 nn mul sub store /xcen cc bb sub mm nn sub dup 0 eq {pop 0.000001} if div store % find circle /ycen xcen mm mul bb add store /rad x1 xcen sub dup mul y1 ycen sub dup mul add sqrt store % don't really need y2 ycen sub x2 xcen sub atan 90 sub % return best angle guess } def /curvetrace2 {fixguesses /curvelist exch def tension 0 eq {/tension .000001 def} if curvelist length 3 div 1 sub cvi /#triads exch def /ptr 0 def firstpoint morepoint} def /tension 2.83 def % default value for best fit /showtick false def % don't show points /ticklen 15 def % length of ticks /tickhead ticklen 4 div def /prvx { curvelist ptr 3 sub get } def /curx { curvelist ptr get } def /prvy { curvelist ptr 2 sub get } def /cury { curvelist ptr 1 add get } def /prva { curvelist ptr 1 sub get } def /cura { curvelist ptr 2 add get 180 sub} def /showtic1 { showtick true eq {gsave currentpoint newpath translate cura 180 add rotate ticklen neg 2 div 0 moveto ticklen 0 rlineto tickhead neg dup rlineto tickhead dup rlineto tickhead dup neg exch rlineto 0 setlinewidth stroke 0 ticklen neg 2 div moveto 0 ticklen rlineto stroke grestore} if }def /firstpoint { curx cury 2 copy abs exch abs add 0 eq {pop pop currentpoint curvelist exch 1 exch put curvelist exch 0 exch put}{moveto} ifelse showtic1 /ptr ptr 3 add def}def /morepoint {#triads { curx prvx sub dup mul cury prvy sub dup mul add sqrt tension div /zdist exch def prva cos zdist mul prvx add prva sin zdist mul prvy add cura cos zdist mul curx add cura sin zdist mul cury add curx cury curveto showtic1 /ptr ptr 3 add def} repeat} def /showtick false def /li {lineto} store %%%%%%%%%%%%%%%% jpg image and link %%%%%%%%%%%%%%%%%% % combined autopos jpeg conversion and hotlink: /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%% modified gonzo justify procs return ypos %%%%%%%%%%%%%%% /cly {save /snapcl exch def /linestring linestring2 def /justx (justL) def 3 1 roll /ypos exch def /xpos exch def stringgonzo ypos snapcl restore /ypos exch store} def /cfy {save /snapcf exch def /linestring linestring2 def /justx (justF) def 3 1 roll /ypos exch store /xpos exch store stringgonzo ypos snapcf restore /ypos exch store pop pop } def /ccy {save /snapcc exch def /linestring linestring2 def /txtwide 5000 def /justx (justC) def /pmrun 0 def 3 1 roll /ypos exch def 2500 sub /xpos exch def stringgonzo ypos snapcc restore /ypos exch store} def /cry {save /snapcm exch def /linestring linestring2 def /txtwide 5000 def /justx (justR) def /pmrun 0 def 3 1 roll /ypos exch def 5000 sub /xpos exch def stringgonzo ypos snapcm restore /ypos exch store} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% fat tail arrow utilities %%%%%%%%%%%%% %%%%%%% north tail, south tip %%%%%%% /fattailsn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth sub taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth sub deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth sub deltay sub debug tipx tipfat 2 div sub tipy tipdepth sub curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% south tail, north tip %%%%%%% /fattailns { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth add taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth add deltay sub debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, west tip %%%%%%% /fattailew { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tailx tipx tipdepth add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltax add tipy tipfat 2 div add debug tailx deltax sub taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax sub taily tailfat 2 div sub debug tipx tipdepth add deltax add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, east tip %%%%%%% /fattailwe { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tipx tipdepth add tailx sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltax sub tipy tipfat 2 div add debug tailx deltax add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax add taily tailfat 2 div sub debug tipx tipdepth sub deltax sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, east tip %%%%%%% /fattailne { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltayw sub debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltaye sub debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, west tip %%%%%%% /fattailsw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaye tipy tipfat 2 div add taily sub enthu mul store /deltayw tipy tipfat 2 div sub taily sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltaye add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltayw add debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, east tip %%%%%%% /fattailse { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaye tipy tipfat 2 div sub taily sub enthu mul store /deltayw tipy tipfat 2 div add taily sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw add debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye add debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, north tip %%%%%%% /fattailwn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat sub tailx sub enthu mul store /deltaxs tipx tipfat add tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div add sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% east tail, north tip %%%%%%% /fattailen { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat add sub enthu mul store /deltaxs tipx tipfat sub tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div add sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxs add taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxn sub taily tailfat 2 div add debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% west tail, south tip %%%%%%% /fattailws { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat 2 div add tailx sub enthu mul store /deltaxs tipx tipfat 2 div sub tailx sub enthu mul store /deltaye taily tailfat 2 div add tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div sub tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, south tip %%%%%%% /fattailes { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat 2 div add sub enthu mul store /deltaxs tailx tipx tipfat 2 div sub sub enthu mul store /deltaye taily tailfat 2 div sub tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div add tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn sub taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxs sub taily tailfat 2 div add debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store /debug {debugflag {gsave 2 copy black mt dot grestore} if } store /debugflag false store %%%%%%%%%%%% demos -- remove or alter before reuse %%%%%%%%%%%% /blu {0 0 1 setrgbcolor} store % sequence is [ tipx tipy tailx taily tipfat tailfat tipdepth tipspread ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CUSTOM ARTWORK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps17.1 { % address space 0.9 dup scale % fit to text /spacepath {0 0 mt 13 pu -0.5 0.333 rlineto 1 0.333 rlineto -0.5 0.333 rlineto 10 pu 13 pr 0.333 0.5 rlineto 0.333 -1 rlineto 0.333 0.5 rlineto 10 pr 10 pd 0.5 -0.333 rlineto -1 -0.333 rlineto 0.5 -0.333 rlineto 13 pd 10 pl -0.333 -0.5 rlineto -0.333 1 rlineto -0.333 -0.5 rlineto 13 pl } store spacepath gsave 0.8 0.8 0.8 setrgbcolor fill grestore /cstretch 0 store /sstretch 0 store /kern 0.1 store /font0 /StoneSans 0.8 gonzofont font0 /font1 /StoneSans-Bold 0.8 gonzofont font1 font0 /font2 /MyriadPro-Bold 2 gonzofont font0 /llbox { gsave translate newpath 0 0 mt 12 pu 12 pr 12 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore 3 0 mt 12 pu 6 0 mt 12 pu 9 0 mt 12 pu 12 0 mt 12 pu 0 3 mt 12 pr 0 6 mt 12 pr 0 9 mt 12 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (0000) cc 4.5 1.1 (0001) cc 7.5 1.1 (0002) cc 10.5 1.1 (0003) cc 1.5 4.1 (0100) cc 4.5 4.1 (0101) cc 7.5 4.1 (0102) cc 10.5 4.1 (0103) cc 1.5 7.1 (0200) cc 4.5 7.1 (0201) cc 7.5 7.1 (0202) cc 10.5 7.1 (0203) cc 1.5 10.1 (0300) cc 4.5 10.1 (0301) cc 7.5 10.1 (0302) cc 10.5 10.1 (0303) cc grestore grestore } store /ulbox { gsave translate newpath 0 0 mt 9 pu 12 pr 9 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore 3 0 mt 9 pu 6 0 mt 9 pu 9 0 mt 9 pu 12 0 mt 9 pu 0 3 mt 12 pr 0 6 mt 12 pr 0 9 mt 12 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (FD00) cc 4.5 1.1 (FD01) cc 7.5 1.1 (FD02) cc 10.5 1.1 (FD03) cc 1.5 4.1 (FE00) cc 4.5 4.1 (FE01) cc 7.5 4.1 (FE02) cc 10.5 4.1 (FE03) cc 1.5 7.1 (FF00) cc 4.5 7.1 (FF01) cc 7.5 7.1 (FF02) cc 10.5 7.1 (FF03) cc grestore grestore } store /urbox { gsave translate newpath 0 0 mt 9 pu 9 pr 9 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 3 3 mt 3 pu 3 pr 3 pd closepath 0 1 1 setrgbcolor fill grestore 3 0 mt 9 pu 6 0 mt 9 pu 9 0 mt 9 pu 0 3 mt 9 pr 0 6 mt 9 pr 0 9 mt 9 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (FDFD) cc 4.5 1.1 (FDFE) cc 7.5 1.1 (FDFF) cc 1.5 4.1 (FEFD) cc 4.5 4.1 (FEFE) cc 7.5 4.1 (FEFF) cc 1.5 7.1 (FFFD) cc 4.5 7.1 (FFFE) cc 7.5 7.1 (FFFF) cc grestore grestore } store /lrbox { gsave translate newpath 0 0 mt 12 pu 9 pr 12 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 3 9 mt 3 pu 3 pr 3 pd closepath 0 1 1 setrgbcolor fill grestore 3 0 mt 12 pu 6 0 mt 12 pu 9 0 mt 12 pu 0 3 mt 9 pr 0 6 mt 9 pr 0 9 mt 9 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (00FD) cc 4.5 1.1 (00FE) cc 7.5 1.1 (00FF) cc 1.5 4.1 (01FD) cc 4.5 4.1 (01FE) cc 7.5 4.1 (01FF) cc 1.5 7.1 (02FD) cc 4.5 7.1 (02FE) cc 7.5 7.1 (02FF) cc 1.5 10.1 (03FD) cc 4.5 10.1 (03FE) cc % 7.5 10.1 (03FF) cc % arrow conflict grestore grestore } store newpath font1 0 0 llbox 0 15 ulbox 15 15 urbox 15 0 lrbox 1 setlinecap 1 setlinejoin spacepath line3 0.3 0.3 0.3 setrgbcolor line3 stroke font1 line1 1.5 -0.6 mt 0.6 d 4.5 -0.6 mt 0.6 d 7.5 -0.6 mt 0.6 d 10.5 -0.6 mt 0.6 d 16.5 -0.6 mt 0.6 d 19.5 -0.6 mt 0.6 d 22.5 -0.6 mt 0.6 d gsave 0 0.2 translate 1.5 -2.3 (00) cc 4.5 -2.3 (01) cc 7.5 -2.3 (02) cc 10.5 -2.3 (03) cc 16.5 -2.3 (FD) cc 19.5 -2.3 (FE) cc 22.5 -2.3 (FF) cc grestore line1 -0.6 1.5 mt 0.6 l -0.6 4.5 mt 0.6 l -0.6 7.5 mt 0.6 l -0.6 10.5 mt 0.6 l -0.6 16.5 mt 0.6 l -0.6 19.5 mt 0.6 l -0.6 22.5 mt 0.6 l gsave 0 0.2 translate -2.3 1.5 (00) cc -2.3 4.5 (01) cc -2.3 7.5 (02) cc -2.3 10.5 (03) cc -2.3 16.5 (FD) cc -2.3 19.5 (FE) cc -2.3 22.5 (FF) cc grestore black gsave 0 -.2 translate 0.5 [ 0 -2.4 0 -3 12 -3 12 -3.6 ] roundpath line2 stroke 0.5 [ 12 -3.6 12 -3 24 -3 24 -2.4 ] roundpath line2 stroke grestore 0.5 [-2.9 0 -3.5 0 -3.5 12 -4.1 12 ] roundpath line2 stroke 0.5 [-4.1 12 -3.5 12 -3.5 24 -2.9 24 ] roundpath line2 stroke /yinc 1.2 store font1 12 -5 (ADDRESS LOW \320 or \320 LOCATION BYTE\n(|jLeast Significant|j)) cc /yinc 1 store -6.7 15 (ADDRESS\nHIGH\n\320 or \320\nPAGE\nBYTE\n\n|h|n(|jMost\nSignificant|j)) cc 8 25.7 (|2ADDRESS SPACE) cc 0 0 1 setrgbcolor font1 /yinc 1.2 store 27.8 10.5 (THIS IS LOCATION $03FE IT IS REACHED BY AN ADDRESS HIGH OR "PAGE" BYTE OF $03 AND AN ADDRESS LOW OR "POSITION" BYTE OF $FE |h THIS LOCATION CAN ALSO BE REACHED WITH A BINARY % 0000 0011 1111 1110 PATTERN ON THE ADDRESS LINES OR DECIMAL 1022.) cl 27.8 18.3 (EACH LOCATION CAN HOLD EIGHT BINARY DATA BITS OR ONE 8-BIT HEX WORD) cl 27.8 27.4 (THIS IS THE ENTIRE ADDRESS SPACE OF A TYPICAL 8-BIT MICRO. THERE ARE 64K or 65536 TOTAL LOCATIONS AVAILABLE.) cl newpath % low arrow 21.15 10.5 mt 1 1.3 rlineto % cp now 22.3 12 0.8 pd % cp now 22.3 11 [ 0 0 0 24.70 10 -45 27.2 9 0 ] curvetrace % arrow root 3 pd % cp now 27.5 15 [ 0 0 180 24.7 8 135 22.15 10 180 ] curvetrace 0.8 pd closepath fill newpath % mid arrow 21.15 19.5 mt 1 1.3 rlineto % cp now 22.3 19.5 0.8 pd % cp now 22.3 18.5 [ 0 0 0 24.70 19.25 -30 27.2 19 0 ] curvetrace % arrow root 3 pd % cp now 27.5 15 [ 0 0 180 24.7 17 120 22.15 19 180 ] curvetrace 0.8 pd closepath fill newpath % top arrow 19.5 24.2 mt -1.3 1 rlineto % cp now 18.7 25.2 0.8 pr % cp now 19.5 25.2 [ 0 0 90 23.3 26.3 0.9 add 10 % mid cp is 23.3 26.3 27.2 27.5 0 ] curvetrace % cp is now 27.2 27.5 3 pd [ 0 0 180 23.3 25.9 175 20.1 25.2 -90 ] curvetrace 0.8 pr closepath fill } store %%%%%% /artps16.1 { 1 dup scale % address bus sizes and arrow /cstretch 0 store /sstretch 0 store /font- /MyriadPro-Bold 1.3 gonzofont font- /yinc 1.5 store 0 0 1 setrgbcolor 0 12 (ADDRESS\n\BUS\nSIZES) cc % sequence is [ tipx tipy tailx taily tipfat tailfat tipdepth tipspread ] [ 4.7 4 0 8.3 1 3 1 5 ] fattailne } store /remotetones { gsave .5 0.3 0 setrgbcolor font3 txtwide 2 div 0 yinc add 0.8 sub pstitle cc grestore gsave 0.3 4.5 translate 0 0 mt 20 pu txtwide 0.6 sub pr 20 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 0 0 mt 20 pu 8.5 pr 20 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu txtwide 0.6 sub pr 4 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu 8.5 pr 4 pd closepath 0 0.85 0.85 setrgbcolor fill grestore 0 1 1 setlinewidth line3 stroke black line1 8.5 0 mt 20 u 12.5 0 mt 20 u 16.5 0 mt 20 u 20.5 0 mt 20 u 24.5 0 mt 20 u 28.5 0 mt 20 u /tabs [ 1 9.5 13.5 17.5 21.5 25.5 29.5 ] store 30.5 0.2 add 18.3 (|4Zenith\n4 tone) cc 26.5 18.3 (|4Sylvania\n7 tone) cc 22.5 18.3 (|4RXR\n8 tone) cc 18.5 18.3 (|4RCA\n7 tone) cc 14.5 18.3 (|4Motorola\n3 tone) cc 10.5 18.3 (|4Admiral\n6 tone) cc 0 16 mt txtwide 0.6 sub line1 r 0 14.3 (|4|tVolume "Up" |t42.5 |t41.5 |t43.25 |t43.25 |t37.25 |t37.75) cl 0 12.9 (|4|tVolume "Down" |t42.5 |t40.0* |t38.75 |t38.75 |t38.75 |t38.75**) cl 0 12 mt txtwide 0.6 sub line1 r 0 10.3 (|t|4Color "Up" |t41.0 |t ---- |t44.75 |t44.75 |t43.25 |t ----)cl 0 8.9 (|t|4Color "Down" |t39.5 |t ---- |t37.25 |t37.25 |t40.25 |t ---- ) cl 0 8 mt txtwide 0.6 sub line1 r 0 6.3 (|t|4Tint Red (CCW) |t36.5 |t38.5* |t35.75 |t35.75 |t44.75 |t40.25**) cl 0 4.9 (|t|4Tint Green (CW) |t38.0 |t41.5* |t34.25 |t34.25 |t35.75 |t41.25**) cl 0 4 mt txtwide 0.6 sub line1 r 0 2.3 (|t|4V.H.F. Channel |t35.0 |t38.5 |t40.25 |t40.25 |t41.25 |t41.25(+)) cl 0 0.9 (|t|4U.H.F. Channel |t ---- |t ---- |t ---- |t41.75 |t ---- |t40.25(-)) cl grestore /yinc 0.8 store font5 0 3 (*40.0 mutes sound and activates hue controls. **38.75 mutes sound and activates hue controls in place of channel change.) cf } store /artew45 { save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans 0.8 gonzofont /yinc 1 store /ypos 0 store /xpos 0 store false { { 0 0 1348 1008 40 1348 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\trace1.jpg)} setimg 40 30 showgrid } if /ltorange {1 0.8 0.6 setrgbcolor} store /dkorange {1 0.6 0 setrgbcolor} store true { % cancel background gsave -1 -1 mt 31.5 pu 40 pr 31.5 pd closepath 0.85 1 0.7 setrgbcolor fill grestore } if gsave 1 setlinecap 1 setlinejoin 3.5 11 mt 2 pr 4 pu 1 pr % n2 line 0.55 0.55 0.55 setrgbcolor 0.4 setlinewidth stroke grestore gsave 6.5 10 mt 15.5 pu 10 pr 15.5 pd closepath gsave 0.5 0.5 0.5 setrgbcolor fill grestore 0.8 0.8 0.8 setrgbcolor line3 stroke grestore line1 black 14 12.5 mt 8 r currentpoint mt dot % from heater % 13 18.5 mt rarrow gsave % thermocoouple 1 0 1 setrgbcolor 1 setlinecap 1 setlinejoin 0.35 setlinewidth 12.5 12.5 mt 2.8 r stroke grestore 22 4 mt 16.25 u 2 r % main vert line 22 8.5 mt darrow 22 16 mt darrow 18 12.5 mt rarrow line1 black 11.5 6 mt 6 u 11.5 9 mt uarrow gsave % sample 9 12.5 mt 0.5 0.5 rlineto 0.5 0.5 rlineto 0.5 0.25 rlineto 0.5 0.25 rlineto 0.5 0 rlineto 0.5 0 rlineto 0.5 -0.25 rlineto 0.5 -0.25 rlineto 0.5 -0.5 rlineto 0.5 -0.5 rlineto closepath 0 1 0 setrgbcolor fill grestore 8.5 11.5 mt 1.7 pu 6 pr 1.7 pd closepath % heater gsave ltorange fill grestore dkorange line2 stroke black font1 line1 gsave black % filter arrow 5 19 translate -30 rotate 0 0 mt 4.25 r currentpoint rarrow grestore gsave black % thermo arrow 16 9 translate 105 rotate 0 0 mt 3.25 r currentpoint rarrow grestore 10.5 22.5 mt 4 pd [ 0 0 -45 10.5 2 add 18.5 45 ] curvetrace 4 pu closepath % photomultiplier gsave ltorange fill grestore dkorange line2 stroke black font1 2.5 4.2 mt 5.5 pu [0 0 90 4.5 9.7 -90] curvetrace % bottom of n2 tank 5.5 pd closepath % bottom of n2 tank gsave ltorange fill grestore dkorange line2 stroke black font1 3.5 11 0.75 0 360 arc % n2 gauge gsave ltorange fill grestore dkorange line2 stroke black font1 black line1 15 4 mt 11 pr 17.5 4 mt larrow 24 4 mt larrow line1 11.5 22.5 mt 5 pu 23.5 pr 9 d 26.5 27.5 mt dot 26.5 27.5 mt 5.5 d 26.5 25.5 mt darrow 35 25.5 mt darrow 32 20.5 mt 3.5 pu 6 pr 3.5 pd closepath gsave ltorange fill grestore dkorange line2 stroke black font1 32 3 add 21.5 0.5 add (INTEGRATOR) cc 20 27.5 mt 1 u 3 -1 rlineto -3 -1 rlineto closepath % amplifier gsave ltorange fill grestore dkorange line2 stroke black font1 8 2 mt 4 pu 7 pr 4 pd closepath % prop power control gsave ltorange fill grestore dkorange line2 stroke black font1 26 2 mt 4 pu 7 pr 4 pd closepath % ramp gen gsave ltorange fill grestore dkorange line2 stroke black font1 23.5 18.5 mt 3.5 pu 6 pr 3.5 pd closepath % xy recorder gsave ltorange fill grestore dkorange line2 stroke black font1 22 4 1.33 0 360 arc % error amp gsave ltorange fill grestore dkorange line2 stroke black font1 32 15.5 mt 3.5 pu 6 pr 3.5 pd closepath gsave ltorange fill grestore dkorange line2 stroke black font1 32 3 add 17.5 0 add (DIGITAL\nREADOUT) cc 32 3 add 14 (TOTAL DOSAGE\nDISPLAY) cc 9 16.5 mt 0.55 pu 5 pr 0.55 pd closepath % filter gsave ltorange fill grestore dkorange line2 stroke black 3 3 (NITROGEN\nQUENCHING\nSUPPLY) cc 22 1.5 (ERROR\nAMPLIFIER) cc 17.5 8 (THERMOCOUPLE\nTEMPERATURE\nSENSOR) cc 3 19.5 (OPTICAL\nFILTER) cc 6 27 (LIGHT-TIGHT\nENCLOSURE) cc 21.5 25.3 (AMPLIFIER) cc 26.5 17 (GLOW-CURVE\nDISPLAY) cc 14 24 (PHOTO-\nMULTIPLIER) cc 11.5 4.7 (PROPORTIONAL\nPOWER\nCONTROLLER) cc 29.5 4.75 (RAMP GEN\nSETS HEATING\nRATE) cc 11.5 12 (HEATER) cc 11.5 14.5 (SAMPLE) cc 26.5 20.3 (X-Y\nRECORDER) cc figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45.F4 /artps45.F4 { % 40 30 showgrid save /figsnap exch store /cstretch 0 store /sstretch 0 store /kern 0.1 store /font1 /StoneSans-Bold 0.75 gonzofont /yinc 0.8 store /ypos 0 store /xpos 0 store false { { 0 0 1362 732 40 1362 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\trace2.jpg)} setimg 40 30 showgrid } if line2 black % top line 7 17.8 mt 22.5 r % 40 30 showgrid % temp % insulation 7 8.5 mt 9 pu 17.5 pr 9 pd 11.2 pl 2.3 pu 8.7 pr 4.4 pu 8.9 pl -4.4 dup rlineto 2.2 pd closepath gsave 142 setwebtint fill grestore 24 setwebtint line1 stroke black gsave 20.5 11 translate % thermoelectric module 0 0 mt 4 pu 4 pr 4 pd 3 pl closepath 162 setwebtint fill grestore 162 setwebtint 25.8 11 mt 0.5 setlinewidth 1 setlinecap 3.5 l 25.8 12 mt 0.5 setlinewidth 1 setlinecap 3.5 l 25.8 13 mt 0.5 setlinewidth 1 setlinecap 3.5 l 25.8 14 mt 0.5 setlinewidth 1 setlinecap 3.5 l 25.8 15 mt 0.5 setlinewidth 1 setlinecap 3.5 l 23 10 mt 6 pu 2 pr 6 pd closepath gsave 126 setwebtint fill grestore black line1 stroke grestore % cooling jacket 0.35 setlinewidth 1 setlinecap 1 setlinejoin 13.5 10.8 mt 9 r 13.5 15.2 mt 9 r % fan 26.5 9.5 mt 7 pu 3.6 pr 7 pd closepath gsave 22 setwebtint fill grestore 3 setwebtint line2 stroke % mirror gsave 8.5 10.5 translate 45 rotate 0 0 mt 0.3 pu 6.7 pr 0.3 pd closepath gsave 93 setwebtint fill grestore line1 black stroke grestore black font1 3 3 (SAMPLE\nDRAWER) cc 3 8 (OPTICAL\nFILTERS) cc 3 11.5 (MIRROR) cc 11 19.5 (LENSES) cc 17 20.8 (SHIELDED\nCOOLING\nJACKET) cc 25 20 (THERMOELECTRIC\nCOOLER) cc 33 13.5 (FAN) cl 24.7 3.7 (LOW-NOISE\nPHOTOMULTIPLIER) cc 31 6.5 (INSULATION) cl 31 3.5 (INERT GAS-\nFLOW LINE) cl 13 0.3 (SAMPLE) cc 8 2 mt 0.5 -1 rlineto 1.2 pr 0.5 1 rlineto % feet closepath 0.5 0.5 0.5 setrgbcolor fill 26 2 mt 0.5 -1 rlineto 1.2 pr 0.5 1 rlineto % feet closepath 0.5 0.5 0.5 setrgbcolor fill gsave 11 8.5 mt 2.5 pl [0 0 40 13.5 8.5 -40] curvetrace closepath % lenses 0.8 0.7 0.3 setrgbcolor fill grestore gsave 11 10.5 mt 2.5 pl [0 0 -40 13.5 10.5 40] curvetrace closepath % lenses 0.8 0.7 0.3 setrgbcolor fill grestore 10 7.15 mt 0.7 pu 2 pr 0.7 pd closepath % filter gsave 1 0.8 0.6 setrgbcolor fill grestore black line1 stroke 10 7.15 0.35 add mt 2 r black black 1 setlinecap 1 setlinejoin 7 18 mt % main U frame 16 pd 22.5 pr 16 pu 0.3 setlinewidth stroke black 6.5 18 mt 16 pd line2 stroke % front trim gsave % sample tray via roundpath 0 0 translate 0.2 [ 19 6.5 6 6.5 5.5 0.25 add 6 4 0.35 add 6.5 5 0.6 add 5.5 4 0.35 add 4.5 5.5 0.25 add 5 6 4.5 19 4.5 ] roundpath closepath gsave 0.6 0.5 0.7 setrgbcolor fill grestore black line1 stroke 10 6.5 mt 1.6 pd 2 pr 1.6 pu closepath % sample cavity gsave 67 setwebtint fill grestore line1 black stroke newpath gsave black % slide arrow 7 5.5 mt 0.6 0.25 rlineto 0.15 pd 1 pr 0.15 pu 0.6 -0.25 rlineto -0.6 -0.25 rlineto 0.15 pu 1 pl 0.15 pd closepath fill grestore 11 5.5 mt 19.5 pr % gas line gsave black 0.55 setlinewidth stroke grestore 67 setwebtint 0.35 setlinewidth stroke black gsave 67 setwebtint % patch sample arrow interference 10.3 5.2 mt 0.7 pu 1.65 pr 0.7 pd closepath 67 setwebtint fill grestore gsave % beter pm body 0.7 [19 11.5 13.5 11.5 13.5 14.5 19 14.5] roundpath gsave 208 setwebtint fill grestore black line3 stroke 1 setlinecap 1 setlinejoin 20.5 11.2 mt 2.5 pl 3.6 pu 2.5 pr closepath 2 setwebtint fill grestore line1 gsave 30.5 3.5 translate % gas arrow 150 rotate 0 0 mt 3.2 r rarrow grestore gsave 11 19 translate % lens arrow 0 0 mt 7.5 d darrow grestore gsave 5 11.7 translate % mirror arror 0 0 mt 4.1 r rarrow grestore gsave 4.6 3 translate 60 rotate % sample drawer arrow 0 0 mt 2 r rarrow grestore 17 18.8 mt 2.5 d darrow % cooling jacket arrow 5 7.5 mt 5 r rarrow % optical filter arrow 32.5 13.7 mt 2.2 l larrow % fan arrow gsave 30.6 6.8 translate 160 rotate % insulation arrow line1 0 0 mt 6.3 r rarrow grestore gsave 22 4 translate 123 rotate % pm arrow 0 0 mt 10 r rarrow grestore gsave 13 1 translate 110 rotate % sample arrow 0 0 mt 5.1 r rarrow grestore gsave 25 18.8 translate -115 rotate % te cooler arrow 0 0 mt 2.9 r rarrow grestore gsave 30.5 5 mt 1 pu 0.6 pr 1 pd closepath white fill grestore % clip gas line % sample 10.4 6.15 mt 0.3 setlinewidth 5 setwebtint 1.2 r figsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % AUTOBOOK ROUTINES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /startbook { /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse [/CropBox [0 0 bookwide bookhigh] /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /SinglePage % no rolling /Pagemode /FullScreen % fullscreen if not on web /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark} store /autopage { save /autosave exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse /ypos topline yinc mul store % initialize to top of page pagescript { aload pop exec } forall showpage autosave restore } store /showrightpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 txtwide 0 curnum cr } store /showleftpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 0 0 curnum cl} store %%%%%%%%%%%%%%% /settext { /curtxt exch store toptextline {toplineparaindent {(|p)}{(|z)} ifelse }{(|p)} ifelse (|y|1\n) mergestr 0 exch ypos exch % assumes 0 xpos curtxt mergestr 0 exch ypos exch cfy /toptextline false store %%%% /ypos ypos yinc 2 div add store % not sure why ADD here } store %%%%%%%%%%%% /settan {/tanmsg exch store /xtanindent exch store /numtanlines exch store save /tansave exch store numtanlines xtanindent ypos yinc 2 div add tanmsg setoldwhitebox tansave restore /ypos ypos numtanlines 2 add yinc mul sub store /ypos ypos yinc sub store } store /setoldwhitebox {save /owbsnap1 exch store % detail proc used by settan /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /tabs [1.5] store % optional for bullets only /yinc 1.6 store /txtwide 30 store /pm 0 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.5 gonzofont /font5 /StoneSans 1.5 gonzofont font5 font1 % huh? xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 1 0.7 0.5 setrgbcolor fill grestore .5 0.3 0 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf owbsnap1 restore } store %%%% setimage /setimg { exec /comesfromurl exch store /goestourl exch store /imscale exch store /imyres exch store /imxres exch store /imyshift exch store /imxshift exch store % /ypos ypos imyres imscale mul sub yinc 2 div sub store % positions figure LEAVE OUT? save /jpgsnap exch store imxshift ypos imyshift add imxres imyres imscale goestourl comesfromurl jpegimageprocwithlink jpgsnap restore /ypos ypos yinc 1.5 mul sub store % positions what will follow below } store %% center title /centit { /cenmsg exch store font7 /ypos ypos yinc 1.5 mul sub store gsave .5 0.3 0 setrgbcolor 0 yinc translate % shift ONLY the title xcen ypos cenmsg cc grestore % NO preserve yinc here /ypos ypos yinc 0.5 mul sub store } store %% setdef /setdef {/sdmsg exch store /defxposn exch store /numdeflines exch store toptextline {/ypos ypos yinc add store } if % adjust if top of page /ypos ypos yinc 0.5 mul sub store numdeflines defxposn ypos sdmsg setoldgraybox /ypos ypos yinc numdeflines 3.5 add mul sub store } store /setoldgraybox {save /ogbsnap1 exch store % serves setdef /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /gtxt (|p|y|1\n) gtxt mergestr store /yinc 1.6 store /txtwide 30 store /pm -4 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.2 gonzofont /font5 /StoneSans 1.2 gonzofont font5 xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 0.8 1 1 setrgbcolor fill grestore 0.1 .5 .5 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf ogbsnap1 restore } store /settitbox { save /tit1snap exch store /maintxt exch store maintxt == % hidden problem here??? /tittext exch store tittext == /txtindent exch store txtindent == /boxxindent exch store boxxindent == /txtlines exch store txtlines == (-----------------------------------------) /boxwide 31 store /tabs [-1.5 4] store % first is for bullets; second is for indented definitions /font4 /MyriadPro-Bold 1.3 gonzofont font4 /font5 /StoneSans 1.2 gonzofont font5 /font6 /StoneSans-Bold 1.2 gonzofont /yinc 1.515 store boxxindent ypos txtlines 4 add yinc mul sub translate gsave 0 0 mt txtlines 2 add yinc mul pu boxwide pr txtlines 2 add yinc mul pd closepath gsave 1 0.8 1 setrgbcolor fill grestore 0.2 setlinewidth 0.5 0.2 0.5 setrgbcolor stroke txtindent txtlines yinc mul 0.3 add maintxt cl { asdfasdfasdf gsave % shifted title 0 txtlines 2 add yinc mul translate 0 0 mt 2.5 pu boxwide pr 2.5 pd closepath 0.5 0.2 0.5 setrgbcolor gsave fill grestore 0.2 setlinewidth stroke % white font4 boxwide 2 div 0.8 tittext cc } pop grestore grestore ypos txtlines 5.5 add yinc mul sub tit1snap restore /ypos exch store } store /lineadj {yinc mul ypos add /ypos exch store} store % adjusts custom vertical position /setps { exec /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store /setpswithtitle { /pstitle exch store /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store %%%%%%%%%%%%%%%%% faster page experiment /startpage { /toplineparaindent exch store /pagenum exch store save /pagesnap1 exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum 998 lt { pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse } if /ypos topline yinc mul store % initialize to top of page } store /endpage { showpage pagesnap1 restore } store /changecolumn {txtwide 3 add 0 translate /ypos topline yinc mul store % reinitialize to top of page /toptextline true store} store /setlowleft {/msg exch store font3 0 -1 msg cl} store /setlowright {/msg exch store font3 txtwide -1 % presumes colulm 2 msg cr} store /setendarrow {gsave txtwide 1.2 sub 2.45 mt 0.5 1 rlineto 0.5 -1 rlineto % temp closepath 0 0 1 setrgbcolor fill grestore} store /setfigtit {exec (|z|y\n) exch mergestr /msg exch store /tyshift exch store /txshift exch store /titlines exch store save /msgsnap exch store /txtwide txtwide 4 sub store /yinc 1 store 0 0 1 setrgbcolor font8 txshift ypos tyshift yinc mul add translate 0 0 msg cf msgsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tintmat is a self-generating list of 216 triple color values /webtintmat [ 0 1 5 { /a exch store 0 1 5 { /b exch store 0 1 5 { 5 div b 5 div a 5 div }for } for } for ] def % setwebtint accepts a color number 0 to 215 and then % sets the PostScript color generator for later use... /setwebtint { abs cvi 216 cvi mod % restrict range webtintmat exch 3 mul 3 getinterval % get values from table aload pop setrgbcolor } def % and set them %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % GLOBAL BOOK VALUES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /inches {72 mul} store /bookwide 8.5 inches store /bookhigh 11 inches store /showthegrid false store /leftgutter 38 store /bottomgutter 35 store /topline 72 store % normal top line /xpos 0 store % normal left margin /aftergridparams { /pm 1.5 .02 sub store /yinc 1.35 store /txtwide 3.4 inches 7.2 div store /xcen txtwide 2 div store /kern 0.1 store /cstretch 0 store /sstretch 0 store /font1 /StoneSerif [1.20 .02 sub 0 0 1.20 0 0 ] gonzofont font1 /font2 /StoneSerif [1.20 .02 sub 0 0.2 1.20 0 0 ] gonzofont % fake italic /font3 /StoneSans-Bold [1 0 0 1 0 0 ] gonzofont % bold for titles /font8 /StoneSans-Bold [0.9 0 0 0.9 0 0 ] gonzofont % bold for titles /font4 /StoneSans [0.9 0 0 1.2 0 0 ] gonzofont % compressed main large figure /font5 /StoneSans [0.9 0 0 0.9 0 0 ] gonzofont % fine print for figure /font6 /StoneSerif-Bold [1.38 0 0 1.38 0 0 ] gonzofont font6 font1 % must be font6 for /to /font7 /MyriadPro-Bold [1.6 0 0 1.15 0 0 ] gonzofont % for centered titles /font7 /StoneSerif-Bold [1.15 0 0 1.15 0 0 ]gonzofont % try a serif title } store startbook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PAGE SCRIPTS START HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /font- /StoneSerif-Bold [0.6 0 0 0.6 0 0.5] gonzofont font- font1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (March, 1969) setlowleft (|1|y|z erals, and chemicals that exhibit thermoluminescence. All we require is that a material have an ordered crystalling struc- ture, or at least a semi-ordered glass-like structure. |j|jThis can be either an insulator or a semiconductor, but must not be a conductor. It has to include light-producing traps, so the material requires either impurities or imperfections in its structure. As the table shows us, there are many materials that meet these requirements.|p One group of chemical compounds that produces useful thermoluminescence are the |2alkali halides|1, of which ordi- nary table salt is a typical member. These have been widely studied. Several alkali halides can be used as dosimetry ma- terials in quantitative applications of thermoluminescence. One popular alkali halide is lithium fluoride. It thermo- luminesces brightly, is chemically stable, reasonably non- toxic, and easy to form into bar, rod, disc, or powder. It, along with other dosimetry materials and instruments, is available from companies such as |2Controls for Radiation|1, 130 Alewife Brook Parkway, Cambrdige Mass, 02140. Or |2Harshaw Chemical Company|1 at 1945 East 97th St., Cleveland, Ohio 44106. The cost runs $8-$20 per gram, but since only a fraction of a gram is needed per measurement, and since many materials are reusable, the total price per measurement is quite low. Actually, very pure lithium fluorie does not thermolumi- nesce very well because there are not enough traps to pro- duce a useful light output. To get around this problem, im- purities are introduced purposely to increase substantially the number of traps. These impurities are called |2activators|1, and are often trace quantities of magnesium terbium euro- pium, or other rare-earth elements. By close control of the amount and type of activator, sensitive, stable, and repro- ducible dosimetry materials are obtained. Further refine- ments, particularly in controlling which lithium isotopes get into the final material, permit the material to discriminate between different types of atomic radiation. Neutrons are particularly easy to identify with one commercial dosimetry powder.) settext (Important Side Effects) centit (Before we look at how to make a useful thermolumines- cence measuremtnt, we have to consider several important side effects. How long the material has remained at what temperature is very important. If we are researching ma- terials, we would purposely irradiate the substance at a low temperature and then run the entire glow curve, possibly get- ting a glow curve such as the one shown in Fig 2A. If we are dealing with an archeological ceramic or a Pre-Cambrian rock, it has remained at "room" temperature for many cen- turies. This combined with a low and constant dose rate, will cause all the low-energy traps to be emptied eventually, and a glow curve such as the one in Fig. 2B will usually re- sult. Note that all traps lower than "room" temperature have been emptied. There is even a slight chance that traps above this temperature have been slightly emptied. This problem is avoided in geological and archaeological dating by use of only the highest temperature glow peaks; these are far above the equlibrium temperature and most likely have not been disturbed. To empty a material of all its previous radiation history, we anneal it by heating. For effective annealing, the mate- rial is first heated to a very high temperature for a relative- ly short time, and then to a moderate temperature for a rel- attively long time. The two-step process favors emptying both low- and high-energy traps, and a no-light curve of Fig. 2C results. We anneal a material whenever we want to erase its entire dosage history up to the present time. A second side effect is called |2spurious luminescence|1. Other factors can make a material emit light. These factors include how it was ground, the pressures it has been subjected to, organic combustion, and chemical activity. Spurious lumi- nescence is a particularly acute problem in archaeological |k) settext changecolumn -20 lineadj save /imgsnap5 exch store { 3 2 3.1 % lines xindent yadj (Fig 3. Instrumentation used in thermoluminescent measure- ment. Servo-controlled heater assures constant heating.)} setfigtit [{ 0 3.2 3 0.73 (artew45)} setps { 2.6 5.2 1380 1080 0.0205 (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\pix3.jpg)} pop % setimg imgsnap5 restore (|1|y|z dating. This is bcause low dose rates for a relatively short time on a relatively poorly thermoluminescing material re- sult in very low light levels that are easily masked by these spurious effects.|p Most of the spurious luminescence is caused by oxygen in the air. We can get rid of most of it by making the measure- ments in a nitrogen atmosphere. This is known as |2nitrogen quencing|1, and will work only if the nitrogen is very pure. Spurious luminescence may be further reduced by a re- ducing paint near the sample. The reducing paint chemically "grabs" any oxygen remaining on the surface of the material under test. There are other side effects. Pressure\320either from grind- ing or, in eons gone by, in geological activity\320 can affect the glow curves. The sample size and its preparation are crit- ical for optimum results. The heating rate is also critical, for heating too slowly does not produce enough instantaneous light, and heating too fast skews the glow peaks and makes them hard to interpret. Rates of 1|-o|1 C/second to 25|-o|1 C/sec- ond are often used in routine dosimetry measurements. ) settext (Instrumentation Employed) centit (To make a thermoluminescence measurement, we have to heat a sample at a constant rate and observe the light pro- duced. A system for doing this is shown in Fig.3. The sam- ple typically weighs around 30 milligrams and is sometimes processed to form a thin disc-shaped spot, perhaps half an inch across. To get precise temperature control and a con- stant rate of rise of temperature, servo feedback is used. We start with a ramp generator that controls a proportional power controller, usually by using an SCR or a triac. This drives the sample heater. A temperature sensor on the heat- er produces a feedback voltage that is compared against the ramp generator's output; Any differences alter the heating power applied to linearize the results.) settext {13 2 -0.8 % lines xindent yadj (Fig 4. Details of sample holder in commercial instrument.)} setfigtit { 0 -0.5 -17 0.9 % lines xshift yadjust scale (artps45.F4)} setps % setendarrow (45) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page 46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster THML01.PSL % Copyright c 2011 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. % Routine attempts to speed up improving a ClearScan ebook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % OLDER SERVICE ROUTINES COPIES HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% links menu directory %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below % zzzz keep for search marker % dictionary method << % entered during gg116 /ebksamp1.asp (http://www.tinaja.com/ebksamp1.asp) /tvtcb.pdf (http://www.tinaja.com/ebooks/tvtcb.pdf) /unhalf.pdf (http://www.tinaja.com/glib/unhalf.pdf) >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%% tints to replace italic fonts %%%%%%%%%%%%% /to {tinton1 font6} store /tx {tintoff font1} store /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def %%%%%%%%%%%%%%%%% new curvetrace routines %%%%%%%%%%%%%%% % (2a) improved gonzo curvetrace % . . . . . % curvetrace2 - creates a smooth curved path from a data point list. % enter with currentpoint set and absolute array. % 0 0 as initial data appends path; any other values % creates new path. A "999" angle of any intermediate points % will be replaced by a good guess. % /fixgusses replaces any intermediate point angle guess of "999" with a best % effort guess of using the tangent angle that results if you draw a circle % through the adjacent two points. /reportnewangles true store /fixguesses {/curvelist exch store 5 3 curvelist length 3 sub { /cptr exch store curvelist cptr get 360 gt { curvelist cptr 5 sub get curvelist cptr 4 sub get curvelist cptr 2 sub get curvelist cptr 1 sub get curvelist cptr 1 add get curvelist cptr 2 add get fixangle curvelist exch cptr exch put } if } for reportnewangles {curvelist == } if % return angles if desired curvelist } def % /fixangle is used by fixguess. Given three points, draw a circle through the % points, then calculate and return the tangent angle of the middle point. /fixangle { /y3 exch store /x3 exch store /y2 exch store /x2 exch store /y1 exch store /x1 exch store y2 y1 sub x2 x1 sub atan 90 sub tan /mm exch store % find first bisector x2 x1 sub 2 div x1 add /px1 exch store y2 y1 sub 2 div y1 add /py1 exch store /bb py1 px1 mm mul sub store y3 y2 sub x3 x2 sub atan 90 sub tan /nn exch store % find second bisector x3 x2 sub 2 div x2 add /px2 exch store y3 y2 sub 2 div y2 add /py2 exch store /cc py2 px2 nn mul sub store /xcen cc bb sub mm nn sub dup 0 eq {pop 0.000001} if div store % find circle /ycen xcen mm mul bb add store /rad x1 xcen sub dup mul y1 ycen sub dup mul add sqrt store % don't really need y2 ycen sub x2 xcen sub atan 90 sub % return best angle guess } def /curvetrace2 {fixguesses /curvelist exch def tension 0 eq {/tension .000001 def} if curvelist length 3 div 1 sub cvi /#triads exch def /ptr 0 def firstpoint morepoint} def /tension 2.83 def % default value for best fit /showtick false def % don't show points /ticklen 15 def % length of ticks /tickhead ticklen 4 div def /prvx { curvelist ptr 3 sub get } def /curx { curvelist ptr get } def /prvy { curvelist ptr 2 sub get } def /cury { curvelist ptr 1 add get } def /prva { curvelist ptr 1 sub get } def /cura { curvelist ptr 2 add get 180 sub} def /showtic1 { showtick true eq {gsave currentpoint newpath translate cura 180 add rotate ticklen neg 2 div 0 moveto ticklen 0 rlineto tickhead neg dup rlineto tickhead dup rlineto tickhead dup neg exch rlineto 0 setlinewidth stroke 0 ticklen neg 2 div moveto 0 ticklen rlineto stroke grestore} if }def /firstpoint { curx cury 2 copy abs exch abs add 0 eq {pop pop currentpoint curvelist exch 1 exch put curvelist exch 0 exch put}{moveto} ifelse showtic1 /ptr ptr 3 add def}def /morepoint {#triads { curx prvx sub dup mul cury prvy sub dup mul add sqrt tension div /zdist exch def prva cos zdist mul prvx add prva sin zdist mul prvy add cura cos zdist mul curx add cura sin zdist mul cury add curx cury curveto showtic1 /ptr ptr 3 add def} repeat} def /showtick false def /li {lineto} store %%%%%%%%%%%%%%%% jpg image and link %%%%%%%%%%%%%%%%%% % combined autopos jpeg conversion and hotlink: /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%% modified gonzo justify procs return ypos %%%%%%%%%%%%%%% /cly {save /snapcl exch def /linestring linestring2 def /justx (justL) def 3 1 roll /ypos exch def /xpos exch def stringgonzo ypos snapcl restore /ypos exch store} def /cfy {save /snapcf exch def /linestring linestring2 def /justx (justF) def 3 1 roll /ypos exch store /xpos exch store stringgonzo ypos snapcf restore /ypos exch store pop pop } def /ccy {save /snapcc exch def /linestring linestring2 def /txtwide 5000 def /justx (justC) def /pmrun 0 def 3 1 roll /ypos exch def 2500 sub /xpos exch def stringgonzo ypos snapcc restore /ypos exch store} def /cry {save /snapcm exch def /linestring linestring2 def /txtwide 5000 def /justx (justR) def /pmrun 0 def 3 1 roll /ypos exch def 5000 sub /xpos exch def stringgonzo ypos snapcm restore /ypos exch store} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% fat tail arrow utilities %%%%%%%%%%%%% %%%%%%% north tail, south tip %%%%%%% /fattailsn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth sub taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth sub deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth sub deltay sub debug tipx tipfat 2 div sub tipy tipdepth sub curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% south tail, north tip %%%%%%% /fattailns { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltay tipy tipdepth add taily sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltay sub debug tailx tailfat 2 div add taily deltay add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltay add debug tipx tipfat 2 div sub tipy tipdepth add deltay sub debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, west tip %%%%%%% /fattailew { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tailx tipx tipdepth add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltax add tipy tipfat 2 div add debug tailx deltax sub taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax sub taily tailfat 2 div sub debug tipx tipdepth add deltax add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, east tip %%%%%%% /fattailwe { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltax tipx tipdepth add tailx sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltax sub tipy tipfat 2 div add debug tailx deltax add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltax add taily tailfat 2 div sub debug tipx tipdepth sub deltax sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, east tip %%%%%%% /fattailne { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltayw sub debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltaye sub debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, west tip %%%%%%% /fattailsw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaye tipy tipfat 2 div add taily sub enthu mul store /deltayw tipy tipfat 2 div sub taily sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div add taily deltaye add debug tailx tailfat 2 div add taily curveto tailfat pl tailx tailfat 2 div sub taily deltayw add debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% north tail, west tip %%%%%%% /fattailnw { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tailfat 2 div sub tipx tipdepth add sub enthu mul store /deltaxs tailx tailfat 2 div add tipx tipdepth add sub enthu mul store /deltayw taily tipy tipfat 2 div add sub enthu mul store /deltaye taily tipy tipfat 2 div sub sub enthu mul store tipx tipy mt tipx tipdepth add tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth add deltaxn add tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw sub debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye sub debug tipx tipdepth add deltaxs add tipy tipfat 2 div sub debug tipx tipdepth add tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% south tail, east tip %%%%%%% /fattailse { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipdepth sub tailx tailfat 2 div sub sub enthu mul store /deltaxs tipx tipdepth sub tailx tailfat 2 div add sub enthu mul store /deltaye tipy tipfat 2 div sub taily sub enthu mul store /deltayw tipy tipfat 2 div add taily sub enthu mul store tipx tipy mt tipx tipdepth sub tipy tipspread 2 div add lineto tipspread 2 div tipfat 2 div sub pd tipx tipdepth sub deltaxn sub tipy tipfat 2 div add debug tailx tailfat 2 div sub taily deltayw add debug tailx tailfat 2 div sub taily curveto tailfat pr tailx tailfat 2 div add taily deltaye add debug tipx tipdepth sub deltaxs sub tipy tipfat 2 div sub debug tipx tipdepth sub tipy tipfat 2 div sub curveto tipspread tipfat sub 2 div pd closepath fill grestore } store %%%%%%% west tail, north tip %%%%%%% /fattailwn { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat sub tailx sub enthu mul store /deltaxs tipx tipfat add tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div add sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% east tail, north tip %%%%%%% /fattailen { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat add sub enthu mul store /deltaxs tipx tipfat sub tailx sub enthu mul store /deltaye tipy tipdepth sub taily tailfat 2 div add sub enthu mul store /deltayw tipy tipdepth sub taily tailfat 2 div sub sub enthu mul store tipx tipy mt tipx tipspread 2 div sub tipy tipdepth sub lineto tipspread 2 div tipfat 2 div sub pr tipx tipfat 2 div sub tipy tipdepth sub deltayw sub debug tailx deltaxs add taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxn sub taily tailfat 2 div add debug tipx tipfat 2 div add tipy tipdepth sub deltaye sub debug tipx tipfat 2 div add tipy tipdepth sub curveto tipspread tipfat sub 2 div pr closepath fill grestore } store %%%%%%% west tail, south tip %%%%%%% /fattailws { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tipx tipfat 2 div add tailx sub enthu mul store /deltaxs tipx tipfat 2 div sub tailx sub enthu mul store /deltaye taily tailfat 2 div add tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div sub tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn add taily tailfat 2 div add debug tailx taily tailfat 2 div add curveto tailfat pd tailx deltaxs add taily tailfat 2 div sub debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store %%%%%%% east tail, south tip %%%%%%% /fattailes { gsave aload pop /tipspread exch store /tipdepth exch store /tailfat exch store /tipfat exch store /taily exch store /tailx exch store /tipy exch store /tipx exch store /enthu 0.28 store /deltaxn tailx tipx tipfat 2 div add sub enthu mul store /deltaxs tailx tipx tipfat 2 div sub sub enthu mul store /deltaye taily tailfat 2 div sub tipy tipdepth add sub enthu mul store /deltayw taily tailfat 2 div add tipy tipdepth add sub enthu mul store tipx tipy mt tipx tipspread 2 div add tipy tipdepth add lineto tipspread 2 div tipfat 2 div sub pl tipx tipfat 2 div add tipy tipdepth add deltaye add debug tailx deltaxn sub taily tailfat 2 div sub debug tailx taily tailfat 2 div sub curveto tailfat pu tailx deltaxs sub taily tailfat 2 div add debug tipx tipfat 2 div sub tipy tipdepth add deltayw add debug tipx tipfat 2 div sub tipy tipdepth add curveto tipspread tipfat sub 2 div pl closepath fill grestore } store /debug {debugflag {gsave 2 copy black mt dot grestore} if } store /debugflag false store %%%%%%%%%%%% demos -- remove or alter before reuse %%%%%%%%%%%% /blu {0 0 1 setrgbcolor} store % sequence is [ tipx tipy tailx taily tipfat tailfat tipdepth tipspread ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CUSTOM ARTWORK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps17.1 { % address space 0.9 dup scale % fit to text /spacepath {0 0 mt 13 pu -0.5 0.333 rlineto 1 0.333 rlineto -0.5 0.333 rlineto 10 pu 13 pr 0.333 0.5 rlineto 0.333 -1 rlineto 0.333 0.5 rlineto 10 pr 10 pd 0.5 -0.333 rlineto -1 -0.333 rlineto 0.5 -0.333 rlineto 13 pd 10 pl -0.333 -0.5 rlineto -0.333 1 rlineto -0.333 -0.5 rlineto 13 pl } store spacepath gsave 0.8 0.8 0.8 setrgbcolor fill grestore /cstretch 0 store /sstretch 0 store /kern 0.1 store /font0 /StoneSans 0.8 gonzofont font0 /font1 /StoneSans-Bold 0.8 gonzofont font1 font0 /font2 /MyriadPro-Bold 2 gonzofont font0 /llbox { gsave translate newpath 0 0 mt 12 pu 12 pr 12 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore 3 0 mt 12 pu 6 0 mt 12 pu 9 0 mt 12 pu 12 0 mt 12 pu 0 3 mt 12 pr 0 6 mt 12 pr 0 9 mt 12 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (0000) cc 4.5 1.1 (0001) cc 7.5 1.1 (0002) cc 10.5 1.1 (0003) cc 1.5 4.1 (0100) cc 4.5 4.1 (0101) cc 7.5 4.1 (0102) cc 10.5 4.1 (0103) cc 1.5 7.1 (0200) cc 4.5 7.1 (0201) cc 7.5 7.1 (0202) cc 10.5 7.1 (0203) cc 1.5 10.1 (0300) cc 4.5 10.1 (0301) cc 7.5 10.1 (0302) cc 10.5 10.1 (0303) cc grestore grestore } store /ulbox { gsave translate newpath 0 0 mt 9 pu 12 pr 9 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore 3 0 mt 9 pu 6 0 mt 9 pu 9 0 mt 9 pu 12 0 mt 9 pu 0 3 mt 12 pr 0 6 mt 12 pr 0 9 mt 12 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (FD00) cc 4.5 1.1 (FD01) cc 7.5 1.1 (FD02) cc 10.5 1.1 (FD03) cc 1.5 4.1 (FE00) cc 4.5 4.1 (FE01) cc 7.5 4.1 (FE02) cc 10.5 4.1 (FE03) cc 1.5 7.1 (FF00) cc 4.5 7.1 (FF01) cc 7.5 7.1 (FF02) cc 10.5 7.1 (FF03) cc grestore grestore } store /urbox { gsave translate newpath 0 0 mt 9 pu 9 pr 9 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 3 3 mt 3 pu 3 pr 3 pd closepath 0 1 1 setrgbcolor fill grestore 3 0 mt 9 pu 6 0 mt 9 pu 9 0 mt 9 pu 0 3 mt 9 pr 0 6 mt 9 pr 0 9 mt 9 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (FDFD) cc 4.5 1.1 (FDFE) cc 7.5 1.1 (FDFF) cc 1.5 4.1 (FEFD) cc 4.5 4.1 (FEFE) cc 7.5 4.1 (FEFF) cc 1.5 7.1 (FFFD) cc 4.5 7.1 (FFFE) cc 7.5 7.1 (FFFF) cc grestore grestore } store /lrbox { gsave translate newpath 0 0 mt 12 pu 9 pr 12 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 3 9 mt 3 pu 3 pr 3 pd closepath 0 1 1 setrgbcolor fill grestore 3 0 mt 12 pu 6 0 mt 12 pu 9 0 mt 12 pu 0 3 mt 9 pr 0 6 mt 9 pr 0 9 mt 9 pr line1 stroke gsave 0 0.2 translate 1.5 1.1 (00FD) cc 4.5 1.1 (00FE) cc 7.5 1.1 (00FF) cc 1.5 4.1 (01FD) cc 4.5 4.1 (01FE) cc 7.5 4.1 (01FF) cc 1.5 7.1 (02FD) cc 4.5 7.1 (02FE) cc 7.5 7.1 (02FF) cc 1.5 10.1 (03FD) cc 4.5 10.1 (03FE) cc % 7.5 10.1 (03FF) cc % arrow conflict grestore grestore } store newpath font1 0 0 llbox 0 15 ulbox 15 15 urbox 15 0 lrbox 1 setlinecap 1 setlinejoin spacepath line3 0.3 0.3 0.3 setrgbcolor line3 stroke font1 line1 1.5 -0.6 mt 0.6 d 4.5 -0.6 mt 0.6 d 7.5 -0.6 mt 0.6 d 10.5 -0.6 mt 0.6 d 16.5 -0.6 mt 0.6 d 19.5 -0.6 mt 0.6 d 22.5 -0.6 mt 0.6 d gsave 0 0.2 translate 1.5 -2.3 (00) cc 4.5 -2.3 (01) cc 7.5 -2.3 (02) cc 10.5 -2.3 (03) cc 16.5 -2.3 (FD) cc 19.5 -2.3 (FE) cc 22.5 -2.3 (FF) cc grestore line1 -0.6 1.5 mt 0.6 l -0.6 4.5 mt 0.6 l -0.6 7.5 mt 0.6 l -0.6 10.5 mt 0.6 l -0.6 16.5 mt 0.6 l -0.6 19.5 mt 0.6 l -0.6 22.5 mt 0.6 l gsave 0 0.2 translate -2.3 1.5 (00) cc -2.3 4.5 (01) cc -2.3 7.5 (02) cc -2.3 10.5 (03) cc -2.3 16.5 (FD) cc -2.3 19.5 (FE) cc -2.3 22.5 (FF) cc grestore black gsave 0 -.2 translate 0.5 [ 0 -2.4 0 -3 12 -3 12 -3.6 ] roundpath line2 stroke 0.5 [ 12 -3.6 12 -3 24 -3 24 -2.4 ] roundpath line2 stroke grestore 0.5 [-2.9 0 -3.5 0 -3.5 12 -4.1 12 ] roundpath line2 stroke 0.5 [-4.1 12 -3.5 12 -3.5 24 -2.9 24 ] roundpath line2 stroke /yinc 1.2 store font1 12 -5 (ADDRESS LOW \320 or \320 LOCATION BYTE\n(|jLeast Significant|j)) cc /yinc 1 store -6.7 15 (ADDRESS\nHIGH\n\320 or \320\nPAGE\nBYTE\n\n|h|n(|jMost\nSignificant|j)) cc 8 25.7 (|2ADDRESS SPACE) cc 0 0 1 setrgbcolor font1 /yinc 1.2 store 27.8 10.5 (THIS IS LOCATION $03FE IT IS REACHED BY AN ADDRESS HIGH OR "PAGE" BYTE OF $03 AND AN ADDRESS LOW OR "POSITION" BYTE OF $FE |h THIS LOCATION CAN ALSO BE REACHED WITH A BINARY % 0000 0011 1111 1110 PATTERN ON THE ADDRESS LINES OR DECIMAL 1022.) cl 27.8 18.3 (EACH LOCATION CAN HOLD EIGHT BINARY DATA BITS OR ONE 8-BIT HEX WORD) cl 27.8 27.4 (THIS IS THE ENTIRE ADDRESS SPACE OF A TYPICAL 8-BIT MICRO. THERE ARE 64K or 65536 TOTAL LOCATIONS AVAILABLE.) cl newpath % low arrow 21.15 10.5 mt 1 1.3 rlineto % cp now 22.3 12 0.8 pd % cp now 22.3 11 [ 0 0 0 24.70 10 -45 27.2 9 0 ] curvetrace % arrow root 3 pd % cp now 27.5 15 [ 0 0 180 24.7 8 135 22.15 10 180 ] curvetrace 0.8 pd closepath fill newpath % mid arrow 21.15 19.5 mt 1 1.3 rlineto % cp now 22.3 19.5 0.8 pd % cp now 22.3 18.5 [ 0 0 0 24.70 19.25 -30 27.2 19 0 ] curvetrace % arrow root 3 pd % cp now 27.5 15 [ 0 0 180 24.7 17 120 22.15 19 180 ] curvetrace 0.8 pd closepath fill newpath % top arrow 19.5 24.2 mt -1.3 1 rlineto % cp now 18.7 25.2 0.8 pr % cp now 19.5 25.2 [ 0 0 90 23.3 26.3 0.9 add 10 % mid cp is 23.3 26.3 27.2 27.5 0 ] curvetrace % cp is now 27.2 27.5 3 pd [ 0 0 180 23.3 25.9 175 20.1 25.2 -90 ] curvetrace 0.8 pr closepath fill } store %%%%%% /artps16.1 { 1 dup scale % address bus sizes and arrow /cstretch 0 store /sstretch 0 store /font- /MyriadPro-Bold 1.3 gonzofont font- /yinc 1.5 store 0 0 1 setrgbcolor 0 12 (ADDRESS\n\BUS\nSIZES) cc % sequence is [ tipx tipy tailx taily tipfat tailfat tipdepth tipspread ] [ 4.7 4 0 8.3 1 3 1 5 ] fattailne } store /remotetones { gsave .5 0.3 0 setrgbcolor font3 txtwide 2 div 0 yinc add 0.8 sub pstitle cc grestore gsave 0.3 4.5 translate 0 0 mt 20 pu txtwide 0.6 sub pr 20 pd closepath gsave 0.7 1 1 setrgbcolor fill grestore gsave newpath 0 0 mt 20 pu 8.5 pr 20 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu txtwide 0.6 sub pr 4 pd closepath 0.2 1 1 setrgbcolor fill grestore gsave newpath 0 16 mt 4 pu 8.5 pr 4 pd closepath 0 0.85 0.85 setrgbcolor fill grestore 0 1 1 setlinewidth line3 stroke black line1 8.5 0 mt 20 u 12.5 0 mt 20 u 16.5 0 mt 20 u 20.5 0 mt 20 u 24.5 0 mt 20 u 28.5 0 mt 20 u /tabs [ 1 9.5 13.5 17.5 21.5 25.5 29.5 ] store 30.5 0.2 add 18.3 (|4Zenith\n4 tone) cc 26.5 18.3 (|4Sylvania\n7 tone) cc 22.5 18.3 (|4RXR\n8 tone) cc 18.5 18.3 (|4RCA\n7 tone) cc 14.5 18.3 (|4Motorola\n3 tone) cc 10.5 18.3 (|4Admiral\n6 tone) cc 0 16 mt txtwide 0.6 sub line1 r 0 14.3 (|4|tVolume "Up" |t42.5 |t41.5 |t43.25 |t43.25 |t37.25 |t37.75) cl 0 12.9 (|4|tVolume "Down" |t42.5 |t40.0* |t38.75 |t38.75 |t38.75 |t38.75**) cl 0 12 mt txtwide 0.6 sub line1 r 0 10.3 (|t|4Color "Up" |t41.0 |t ---- |t44.75 |t44.75 |t43.25 |t ----)cl 0 8.9 (|t|4Color "Down" |t39.5 |t ---- |t37.25 |t37.25 |t40.25 |t ---- ) cl 0 8 mt txtwide 0.6 sub line1 r 0 6.3 (|t|4Tint Red (CCW) |t36.5 |t38.5* |t35.75 |t35.75 |t44.75 |t40.25**) cl 0 4.9 (|t|4Tint Green (CW) |t38.0 |t41.5* |t34.25 |t34.25 |t35.75 |t41.25**) cl 0 4 mt txtwide 0.6 sub line1 r 0 2.3 (|t|4V.H.F. Channel |t35.0 |t38.5 |t40.25 |t40.25 |t41.25 |t41.25(+)) cl 0 0.9 (|t|4U.H.F. Channel |t ---- |t ---- |t ---- |t41.75 |t ---- |t40.25(-)) cl grestore /yinc 0.8 store font5 0 3 (*40.0 mutes sound and activates hue controls. **38.75 mutes sound and activates hue controls in place of channel change.) cf } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % AUTOBOOK ROUTINES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /startbook { /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse [/CropBox [0 0 bookwide bookhigh] /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /SinglePage % no rolling /Pagemode /FullScreen % fullscreen if not on web /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark} store /autopage { save /autosave exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse /ypos topline yinc mul store % initialize to top of page pagescript { aload pop exec } forall showpage autosave restore } store /showrightpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 txtwide 0 curnum cr } store /showleftpagenumber {/curnum exch store /font3 /MyriadPro-Bold 1.3 gonzofont font3 0 0 curnum cl} store %%%%%%%%%%%%%%% /settext { /curtxt exch store toptextline {toplineparaindent {(|p)}{(|z)} ifelse }{(|p)} ifelse (|y|1\n) mergestr 0 exch ypos exch % assumes 0 xpos curtxt mergestr 0 exch ypos exch cfy /toptextline false store %%%% /ypos ypos yinc 2 div add store % not sure why ADD here } store %%%%%%%%%%%% /settan {/tanmsg exch store /xtanindent exch store /numtanlines exch store save /tansave exch store numtanlines xtanindent ypos yinc 2 div add tanmsg setoldwhitebox tansave restore /ypos ypos numtanlines 2 add yinc mul sub store /ypos ypos yinc sub store } store /setoldwhitebox {save /owbsnap1 exch store % detail proc used by settan /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /tabs [1.5] store % optional for bullets only /yinc 1.6 store /txtwide 30 store /pm 0 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.5 gonzofont /font5 /StoneSans 1.5 gonzofont font5 font1 % huh? xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 1 0.7 0.5 setrgbcolor fill grestore .5 0.3 0 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf owbsnap1 restore } store %%%% setimage /setimg { exec /comesfromurl exch store /goestourl exch store /imscale exch store /imyres exch store /imxres exch store /imyshift exch store /imxshift exch store % /ypos ypos imyres imscale mul sub yinc 2 div sub store % positions figure LEAVE OUT? save /jpgsnap exch store imxshift ypos imyshift add imxres imyres imscale goestourl comesfromurl jpegimageprocwithlink jpgsnap restore /ypos ypos yinc 1.5 mul sub store % positions what will follow below } store %% center title /centit { /cenmsg exch store font7 /ypos ypos yinc 1.5 mul sub store gsave .5 0.3 0 setrgbcolor 0 yinc translate % shift ONLY the title xcen ypos cenmsg cc grestore % NO preserve yinc here /ypos ypos yinc 0.5 mul sub store } store %% setdef /setdef {/sdmsg exch store /defxposn exch store /numdeflines exch store toptextline {/ypos ypos yinc add store } if % adjust if top of page /ypos ypos yinc 0.5 mul sub store numdeflines defxposn ypos sdmsg setoldgraybox /ypos ypos yinc numdeflines 3.5 add mul sub store } store /setoldgraybox {save /ogbsnap1 exch store % serves setdef /gtxt exch store /yposin exch store /xposin exch store /rawlinecount exch store /gtxt (|p|y|1\n) gtxt mergestr store /yinc 1.6 store /txtwide 30 store /pm -4 store /tbmargin 1 store % in line units /lrmargin 1.7 store /font4 /StoneSans-Bold 1.2 gonzofont /font5 /StoneSans 1.2 gonzofont font5 xposin yposin rawlinecount tbmargin 2 mul add yinc mul sub translate 0 0 mt rawlinecount tbmargin 2 mul add yinc mul pu txtwide lrmargin 2 mul add pr rawlinecount tbmargin 2 mul add yinc mul pd closepath gsave 0.8 1 1 setrgbcolor fill grestore 0.1 .5 .5 setrgbcolor 0.3 setlinewidth stroke black /txtwide txtwide pm add store lrmargin pm neg add rawlinecount 1 sub tbmargin add yinc mul 0.3 add gtxt cf ogbsnap1 restore } store /settitbox { save /tit1snap exch store /maintxt exch store maintxt == % hidden problem here??? /tittext exch store tittext == /txtindent exch store txtindent == /boxxindent exch store boxxindent == /txtlines exch store txtlines == (-----------------------------------------) /boxwide 31 store /tabs [-1.5 4] store % first is for bullets; second is for indented definitions /font4 /MyriadPro-Bold 1.3 gonzofont font4 /font5 /StoneSans 1.2 gonzofont font5 /font6 /StoneSans-Bold 1.2 gonzofont /yinc 1.515 store boxxindent ypos txtlines 4 add yinc mul sub translate gsave 0 0 mt txtlines 2 add yinc mul pu boxwide pr txtlines 2 add yinc mul pd closepath gsave 1 0.8 1 setrgbcolor fill grestore 0.2 setlinewidth 0.5 0.2 0.5 setrgbcolor stroke txtindent txtlines yinc mul 0.3 add maintxt cl { asdfasdfasdf gsave % shifted title 0 txtlines 2 add yinc mul translate 0 0 mt 2.5 pu boxwide pr 2.5 pd closepath 0.5 0.2 0.5 setrgbcolor gsave fill grestore 0.2 setlinewidth stroke % white font4 boxwide 2 div 0.8 tittext cc } pop grestore grestore ypos txtlines 5.5 add yinc mul sub tit1snap restore /ypos exch store } store /lineadj {yinc mul ypos add /ypos exch store} store % adjusts custom vertical position /setps { /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store /setpswithtitle { /pstitle exch store /psprocname exch store /psscale exch store /psyadjust exch store /psxshift exch store /movelines exch store save /psartsnap exch store psxshift ypos psyadjust yinc mul add movelines 1 sub yinc mul sub translate psscale dup scale psprocname cvx exec psartsnap restore /ypos ypos movelines yinc mul sub store } store %%%%%%%%%%%%%%%%% faster page experiment /startpage { /toplineparaindent exch store /pagenum exch store save /pagesnap1 exch store /toptextline true store black leftgutter bottomgutter 7.2 setgrid showthegrid { 42 74 showgrid } if aftergridparams % set fonts etc after scaling pagenum 998 lt { pagenum dup 2 mod 0 eq % place page numbers { 10 string cvs (|3) exch mergestr showleftpagenumber} { 10 string cvs (|3) exch mergestr showrightpagenumber} ifelse } if /ypos topline yinc mul store % initialize to top of page } store /endpage { showpage pagesnap1 restore } store /changecolumn {txtwide 3 add 0 translate /ypos topline yinc mul store % reinitialize to top of page /toptextline true store} store /setlowleft {/msg exch store font3 0 -1 msg cl} store /setlowright {/msg exch store font3 txtwide -1 % presumes colulm 2 msg cr} store /setendarrow {gsave txtwide 1.2 sub 2.45 mt 0.5 1 rlineto 0.5 -1 rlineto % temp closepath 0 0 1 setrgbcolor fill grestore} store /setfigtit {exec (|z|y\n) exch mergestr /msg exch store /tyshift exch store /txshift exch store /titlines exch store save /msgsnap exch store /txtwide txtwide 4 sub store /yinc 1 store 0 0 1 setrgbcolor font8 txshift ypos tyshift yinc mul add translate 0 0 msg cf msgsnap restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % GLOBAL BOOK VALUES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /inches {72 mul} store /bookwide 8.5 inches store /bookhigh 11 inches store /showthegrid false store /leftgutter 38 store /bottomgutter 35 store /topline 72 store % normal top line /xpos 0 store % normal left margin /aftergridparams { /pm 1.5 .02 sub store /yinc 1.35 store /txtwide 3.4 inches 7.2 div store /xcen txtwide 2 div store /kern 0.1 store /cstretch 0 store /sstretch 0 store /font1 /StoneSerif [1.20 .02 sub 0 0 1.20 0 0 ] gonzofont font1 /font2 /StoneSerif [1.20 .02 sub 0 0.2 1.20 0 0 ] gonzofont % fake italic /font3 /StoneSans-Bold [1 0 0 1 0 0 ] gonzofont % bold for titles /font8 /StoneSans-Bold [0.9 0 0 0.9 0 0 ] gonzofont % bold for titles /font4 /StoneSans [0.9 0 0 1.2 0 0 ] gonzofont % compressed main large figure /font5 /StoneSans [0.9 0 0 0.9 0 0 ] gonzofont % fine print for figure /font6 /StoneSerif-Bold [1.38 0 0 1.38 0 0 ] gonzofont font6 font1 % must be font6 for /to /font7 /MyriadPro-Bold [1.6 0 0 1.15 0 0 ] gonzofont % for centered titles /font7 /StoneSerif-Bold [1.15 0 0 1.15 0 0 ]gonzofont % try a serif title } store startbook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PAGE SCRIPTS START HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (46) setlowleft (|1|y|p A photomultiplier observes the sample and produces an output proportional to the thermoluminescence. The enclo- sure surrounding the sample, heater, and a photomultiplier must be light-tight, and is normally flushed with nitrogen from a tank supply to eliminate any spurious luninescence. The photomultiplier output is amplified and, together with a signal from the temperature sensor, is fed to an X-Y re- corder that generates the glow curve in graphic form. The photomultiplier output also goes to a charge integrator that calculates the total light produced, digitizes it, and presents the total dosage on a digital readout. A heater and photomultiplier assembly are shown in Fig. 4 It has several refinements over the basic measuring pro- cess just described. The light path gets bent to put the photo- multiplier outside of any direct infrared radiation from the sample heater. Lenses and a mirror bend the light suitably but are largely opaque to the infrared radiation. An optical filter also enhances the thermolummescence signal at the expense of spurious and infrared background. The photo- multiplier is a very-low-noise type. It is shielded both mag- netically and electrostatically to prevent internal light and noise from being generated. The photomultiplier is cooled with a thermoelectric cooler which keeps the background noise low and uniform, regardless of whether the measure- ment is at the high end or the low end of the glow curve; the entire assembly is suitably insulated. A complete instrument is shown in the photo. This is the |2Harshaw Chemical|1 Model 2000 thermoluminescence analyz- er. The left unit contains the sample drawer, heater, and photomultiplier, while the right one contains the integrator and dosage readout. Other features do include a calibration light source, a sample vibrator and dispenser, and direct- temperature readout. An additional X-Y plotter is needed if a glow curve is to be obtained. If quenching is desired, an external connection must be made to a nitrogen tank.) settext (Nuclear & Medical Applications) centit (One application of thermoluminescence is in basic solid- state research. Crystals with slight impurities are the keystone of all today's solid-state materials. Basic thermoluminescence studies can add new knowledge to this all-important field. Thermoluminescence can be a much more sensitive radia- tion indicator than either a Geiger or a scintillation counter, as it responds to the total dosage through time instead of making an instantaneous or short-term measurement. For nuclear prospecting and for radioactive deposit map- ping, thermoluminescence can be a highly sensitive radiation indicator. Rock samples near a suspected radioactive source have dosage measurements made on them; results of the dosage measurements plot extent and value of the deposit. To protect people working around a nuclear reactor or other dangerous radioactive source, badges using lithium fluoride are often worn. Special finger rings are also used where people might expose only their hands to radiation hazards. These badges and rings are annealed before being issued; the resultant thermoluminescence as a result of use indicates the dosage the person wearing the badge has ab- sorbed. PersonaI dosage histories are kept easily and ac- curately this way. Compared to the film-badge technique, thermolummescence is more accurate and less dose-depend- ent at low dosage rates. A similar measurement was recently applied to roof tiles recovered from Hiroshima, plotting the extent and strength of the atomic-bomb radiation. Much of today's cancer and tumor research is centered around radioactive treatment. Thermoluminescence pro- vides an attractive method of measuring the actual dosage absorbed. To do this, annealed lithium fluoride or another one of the dosimetry materials is incased in inert Teflon in either a pill or probe shape. The dosimeter built this way is either implanted or swallowed and later recovered after its ir- |k ) settext changecolumn -20 lineadj save /imgsnap5 exch store { 3 2 3.7 % lines xindent yadj (A complete thermoluminescence analyzer. Unit at left con- tains sample drawer, heater, and photomultiplier; the unit at the right contains the integrator and the digital readout.)} setfigtit { 2.6 5.2 1380 1080 0.0205 (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\pix3.jpg)} setimg imgsnap5 restore (radiation or another radioactive treatment. The thermolum- nescence gives an accurate account of the total dosage. ) settext (Uses in Geology & Archaeolgy) centit (There are many geological uses for thermoluminescence. By comparing the total thermoluminescence to date of two different rocks, the relative age of one with respect to the other can often be determined. By making certain assump- tions as to what the dose rate was, an absolute dating scale may also be obtained. To do this, the sources of radioactiv- ity affecting the sample must be known, as must the sample's susceptance to thermoluminescent activity. Given these two factors, the absolute age is readily determined. Subtle changes in equilibrium temperature of a material can give profound clues of past climatic activity. Thermo- luminescence tests run in Antarctica have placed a bound on how long the area was cold. The moon is one big thermoluminescence machine. For fourteen days, the hot surface temperature anneals the surface materials. For fourteen more days, when the sur- face is around on the dark side. high-energy particles from the solar wind fill the traps on surface thermoluminescent materials. As the surface comes around to the sunny side again, it is heated at a fairly constant rate and provides thermoluminescence for a few hours. Astrogeologists are able to draw certain conclusions about meteors and some other materials on the basis of this evidence. The newest application of thermolumincsce lies in ar- cheology. It can provide absolute calendric dating of an- cient pottery. When a pot is fired, it is also conveniently annealed, and its past radiation history is erased. From the firing on, the slight thorium and uranium impurities in the clay emit high-energy particles which fill the traps with electrons. To find the age of the pot, a sample is crushed, separated into optimum sized particles, and its thermo- luminescence is measured. The amount of new dosage is found which produces the same level of of thermolumines- cence by annealing and the reradiating with a known dose. Finally, the particle emanation caused by the uraninium and thorium impurities is measured. Knowing the dose rate and total dosage, a simple division gives the age of the ceramic. Today, this technique is just beginning to be put to use. There are important advantages of thermoluminescence over the popular carbon-14 dating technique in that the dating is applied to the artifact itself, the pottery is widely avail- able for testing, and sample contamination and dosage uni- formity are not as significant. Other archaeological applica- tions include the evaluation of pre-pottery stone boilers, cave temperatures, firepits, and kiln temperatures. This technique is also a powerful tool for identifying fake "an- cient" pottery.) settext setendarrow (ELECTRONICS WORLD) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page xx %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % EOF % EOF % EOF