%!PS % "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 %%%%%%%%%%%%%%%%%%% /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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (September, 1969) setlowleft %%%%%%%%%%%% % custom set nonstandard intro save /snap1 exch store -20 59.2 mt 55 pu 125 pr 55 pd closepath % top stripe 179 setwebtint fill /txtwide 999 store % no fj /cstretch 0.1 store /font1 /MyriadPro-Bold [4.2 0 0 9 0 0] gonzofont 87 setwebtint font1 -2 lineadj /yinc 7 store (Paleomagnetism & Archeomagnetism) settext 0 setwebtint /cstretch 0 store /font2 /MyriadPro-Bold [3.5 0 0.5 3 0 0] gonzofont font2 /yinc 1.2 store 1 lineadj (|z|y|2 Twin Keys to the Past) settext /font3 /StoneSans [1.2 0 0 1.5 0 0 ] gonzofont font3 -3.5 lineadj (|3|z|y By DON LANCASTER) settext /font4 /StoneSerif-Bold [1.4 0 0.4 1.4 0 0 ] gonzofont font4 /yinc 1.9 store -2 lineadj (|4|z|y Permanent records of the strength and direction of the earth's ancient magnetic field lie frozen as magnetic recordings in many rocks and artifacts. Measurements of this field, by using magnetometers, computers, demagnetizers, and other instruments provide valuable data about our past.) settext { 43.3 0.8 333 420 0.103 % scale to fit lead image (http://www.tinaja.com/images/ampmlead.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\ampmlead.jpg)} setimg snap1 restore %%%%%%%%%%%%%%%%%%%% -30.7 lineadj % need drop cap H 3 lines /indentcount 3 store /dropindent 3.5 store /font: /StoneSerif-Bold [3.9 0 0 4.8 0 -3.9] gonzofont /setbrown { 87 setwebtint } store /setblack { 0 setwebtint } store setbrown (|:H|i |/setblack |1OW old is the Earth? What causes the Earth's mag- netic field? Why has this magnetic field suddenly re- versed dozens of times in the past? What relation is there between these reversals and the extinction of an old or the evolution of new species of animals? Is there anything to continental drift? What causes sea-floor spreading? Westerly drift? Polar wandering?|p How does an archeologist accurately date a firepit with no wood present and only chance association with other datable materials? Which quarry did all the stone for a Roman road come from? How far was tradeware pottery carried? Answers to all these tough questions and more like them are now being answered by the twin sciences of |2paleomagnet- ism|1 and |2archeomagnetism|1, sciences as old as the compass and yet as new as today's electronic technology. |2Paleomagnetism|1 is the study of the past variations in the Earth's magnetic field, primarily through locked-in magnetic rock recordings of the direction and intensity of the field. |2Archeomagnetism|1 is basically the same game-only it is played by archeologists seeking cultural dates and relations, primar- ily over the past 10,000 years, instead of by geologists seeking the "how" and "why" of the Earth over its longer 4.5-billion year history. Only very recently have significant developments been made in these fields, aided by computers, magnetometers, demagnetizers, and other electronic instrumentation. So re- cently, in fact, that many of today's paleomagnetic results and tenative conclusions would have been considered highly controversial only a few years ago. Today, such concepts as the precession-driven magnetohydrodynamic origin of the Earth's magnetic field, continental drift, and dynamo-caused reversals have a broad base of experimental and theoretical evidence behind them.) settext (Basic Principles) centit setblack % required because settext saves (|1|p|y Just like any other magnetic field, the Earth's field can be represented at any given time at a specific place as a |1vector quantity|1. The field at any point has both a magnitude and a direction. With Earth magnetism, the vector is manually re- solved into two components of direction, called the |2declin- ation|1 and the |2inclination|1, as shown in Fig.1.) settext changecolumn -30.7 lineadj (|1|p|y A compass measures declination, or the deviation of mag- netic north from true north, usually expressed as 0-360 de- grees clockwise. Declination (or compass variation) is the projection vertically downward of the magnetic-intensity vector compared against true (polar) north. (The angle is measured on the horizontal plane.) Compasses do not, of course, point due north, and corrections for declination must be made on all land surveys, aircraft flights, and other precise geographical measurements. A dipping magnetized needle measures inclination, or the deviation of the magnetic-intensity vector from horizontal. (The angle is measured on the vertical plane.) Values of in- clination vary from 0° (horizontal) just south of the equator to nearly +90° ( straight down) at the far north and nearly -90 (straight up) at the extreme south. The strength and the direction of the magnetic-intensity vector at any given geographic location has changed radically |k) settext {3 2.3 -0.0 % lines xindent yadj (Fig. 1 At any point, Earth's magnetic-intensity vector may be resolved into two components, inclination and declination.)} setfigtit -28.5 lineadj { 0 -2 3 0.9 % lines xshift yadjust scale (artps23.1)} setps % setendarrow (23) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page xx %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % EOF %%%%%%%%%%%% page 24 %%%%%%%%%% %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster AMPM26.PSL page 26 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 /cc1 py2 px2 nn mul sub store /xcen cc1 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps24.1 % four domains {save /figsnap exch store 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 640 618 40 640 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\fig2rawfull.jpg)} setimg 40 40 showgrid } if /cstretch 0 store /sstretch 0 store /font1 /StoneSans 0.7 gonzofont font1 /err {/ang exch store moveto gsave ang rotate 1 setlinecap 0.3 setlinewidth 3 r 0.6 0 rlineto -1.4 -.5 rlineto -1 pd 1.4 -.5 rlineto closepath black fill grestore } store /err2 {/ang exch store moveto gsave ang rotate 1 setlinecap 0.3 setlinewidth 3 r 0.6 0 rlineto -1.4 -.5 rlineto -1 pd 1.4 -.5 rlineto closepath fill grestore } store /va0 { [3.5 26.5 160 % ref 3.5 28.5 80 3.2 31 999 4 33 20 6 32.8 -20 9.4 32.3 0 9.4 32.3 -135 10 30 -90 8.5 29.3 180 7 29 -135 5.8 26.4 170 3.5 26.5 190 ] curvetrace2 } store /va1 {[ 6.1 26.5 -20 6 23 -90 7 20.6 -30 9 20 -25 9 20 -135 7.8 17 -70 7.8 17 150 6 17.5 180 3 18 70 3 19 90 3.6 26.6 100 ] curvetrace2 } store /va2 {[ 9.8 29.6 -90 11 27.8 0 11 27.8 -120 10 23 -90 11 21.5 -60 11 21.5 -120 9 20 -135 ] curvetrace2 } store /va3 {[ 8 17 -90 7.8 14.5 -90 8.5 13 20 8.5 13 -160 8 11 -90 7.8 9.8 -90 7.8 9.8 180 4.5 10 150 4.3 13.5 90 4.5 17.3 90 ] curvetrace2 } store /va4 { [ 7.8 9.8 -80 10 7 -20 12 6.3 0 12 6.3 -150 11 3.5 180 6 4.5 170 4.5 4.5 110 4 8 90 4.8 10 90 ] curvetrace2 } store /va5 {[ 8.2 13 0 12 13.8 -30 13 11.3 -20 14.8 10.8 -70 14 7 -70 14 7 -150 12 6.3 180 ] curvetrace2 } store /va6 {[ 11 21.5 -30 13 20 -60 13 20 -120 12.5 16.5 -90 12 13.8 -120 ] curvetrace2} store /va7 {[ 11 27.8 15 13.5 29.4 0 15.5 28.6 -85 16 25 -90 15.3 20.7 -45 15.3 20.7 -135 13 20 180 ] curvetrace2 } store /va8 {[ 9.5 32.3 10 16 33 -10 19 33 -60 19 32 -125 18.5 29.4 -80 18.5 29.4 -165 15 29.2 165 ] curvetrace2 } store /va9 {[ 15.3 20.7 -45 17.3 19 -45 17.3 15 -90 17.6 10.8 -115 14.8 10.8 180 ] curvetrace2 } store /va10 {[ 17.6 11 -10 21 10.2 0 22.8 10.8 40 22.8 10.8 -90 22.5 8 -40 23.5 7.4 -40 23.5 7.4 -150 22.7 6.7 -170 20 6.8 180 17 6.2 180 17 6.2 150 14 7.0 170 ] curvetrace2} store /va11 {[ 23 7 -80 23 4 -60 23 4 180 17 4.5 130 17 6.2 0 ] curvetrace2} store /va12 {[ 17.3 19 10 20 20.3 0 22.5 18 -60 22.5 18 -90 22.5 14 -80 22.8 10.8 -90 ] curvetrace2} store /va13 {[ 17.5 29.2 10 21 29 -50 20 26 -90 21 20.1 -135 ] curvetrace2} store /va14 {[ 22.3 14.5 25 25 15.3 0 27.8 15 -20 28 13 -80 28.1 7.8 -115 28.1 7.8 180 23.5 7.4 -140 ] curvetrace2} store /va15 {[ 22 19 20 26 19 15 26 19 -85 27.5 16.2 -90 27.5 15.2 -90 ] curvetrace2} store /va16 {[ 21 29 5 23 29.3 0 26 28 0 27.5 28.5 0 27.5 28.5 -100 26.5 24 -60 26 19 -115 ] curvetrace2} store /va17 {[ 28.5 9.8 10 31.8 9.8 -15 32.6 5.8 -115 29 5 180 27.5 5.5 135 27.5 5.5 80 28 7.8 90 ] curvetrace2} store /va18 {[ 27.3 16.9 20 29 17 0 31 16.5 15 31 16.5 -90 32.3 12 -90 31.4 9.8 -105 ] curvetrace2} store /va19 {[ 26.6 23.8 55 30 24 0 32.0 23.7 -45 32.2 20 -90 32.5 17 -135 31 16.5 -160 ] curvetrace2} store /va20 {[ 19.1 32.4 -100 24 32.2 0 27.8 31.5 -45 27.8 31.5 -120 27.5 28.5 -100 ] curvetrace2} store /va21 {[ 27.9 31.4 -30 31 31.5 -45 31.2 26 -90 31 24 -120 ] curvetrace2} store /domainmap { gsave translate -1.5 -1.5 translate 0.31 dup scale 0.75 setlinewidth 45 setwebtint va0 stroke va1 stroke va2 stroke va3 stroke va4 stroke va5 stroke va6 stroke va7 stroke va8 stroke va9 stroke va10 stroke va11 stroke va12 stroke va13 stroke va14 stroke va15 stroke va16 stroke va17 stroke va18 stroke va19 stroke va20 stroke va21 stroke grestore } store /Aarrows {gsave translate -1.5 -1.5 translate 0.31 dup scale black 7.7 7.7 -135 err 6 11 90 err 6 20.5 -140 err 8 31 -170 err 10 11 -45 err 10 18 -90 err 9.5 22 120 err 14 13 55 err 12 23 45 err 15 32 -40 err 19 7.5 145 err 22 6 -155 err 19 13 65 err 20 21.5 125 err 26 31 -170 err 24 26 -105 err 25.5 18.5 -140 err 27 13 -120 err 32.5 6.5 150 err 29 14.5 -40 err 31 18 135 err 27.5 25.5 50 err grestore } store /Barrows {gsave translate -1.5 -1.5 translate 0.31 dup scale black 7 8.5 -65 err 7 12 90 err 5 23 -90 err 8.5 31.5 -170 err 10.5 12 -60 err 9.5 18.5 -55 err 14 32.5 -40 err 9 23 115 err 16 9.5 -30 err 14.5 14 65 err 13 27 -70 err 22 6 -155 err 19.5 13.5 65 err 20 22 135 err 25 31.3 -170 err 23 25 -55 err 25 18 -9135 err 24 13 -75 err 32.3 6.5 160 err 29 15 -50 err 31 18 135 err 28 26 35 err grestore } store /Carrows {gsave translate -1.5 -1.5 translate 0.31 dup scale 7 31 -135 err 4.5 23 -80 err 7.6 26.3 -75 err 6 11.8 80 err 6 11.7 80 err 10 12 -60 err 6 8.5 -55 err 9 18 -60 err 12 23 60 err 14 32 -35 err 14 17 -60 err 17 9 -20 err 21.3 5.8 -165 err 19 16.5 -65 err 17 22 80 err 25 13 -70 err 23.2 16.5 0 err 23 25 -60 err 29.8 9 -55 err 29 15 -50 err 28.5 21.5 -60 err 22 31 -20 err 29 29 -65 err grestore } store /Darrows { gsave translate -1.5 -1.5 translate 0.31 dup scale 7 8 -130 err 5.5 11.5 85 err 4 22 -55 err 7.5 31.5 -170 err 9 11 -40 err 9 19 -45 err 8 23 75 err 14 32.3 -50 err 21.5 5.5 -160 err 20 7.5 165 err 13.4 13 45 err 12 27.5 -65 err 19 17 -65 err 18 26 -90 err 26 31 180 err 22.5 26 -70 err 27 16 145 err 27 12 -135 err 32 6 120 err 29.5 15 -80 err 31 19 135 err 29 27 70 err grestore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set domains 7 7 domainmap 7 7 Carrows 25 26 domainmap 25 26 Barrows 7 26 domainmap 7 26 Aarrows 25 7 domainmap 25 7 Darrows %%%%%%%%% external arrows 5 setwebtint gsave 14.5 36.5 translate 0.5 dup scale 0 0 -120 err2 grestore gsave 7.5 19 translate 0.9 dup scale 0 0 -60 err2 grestore gsave 11.7 19 translate 0.9 dup scale 0 0 -60 err2 grestore gsave 27 37 translate % b area 0.6 dup scale 0 0 -60 err2 grestore gsave 30 37 translate % b area 0.6 dup scale 0 0 -60 err2 grestore gsave 29 18.7 translate % d area 0.6 dup scale 0 0 -60 err2 grestore black %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /cstretch 0 store /sstretch 0 store /font1 /StoneSans-Bold [0.8 0 0 0.6 0 0 ] gonzofont font1 font1 /yinc 0.72 store 11 4.8 ((C)) cc 2.5 3.8 (STRONGER EXTERNAL FIELD ALIGNS MORE DOMAINS; SAMPLE PROVIDES MORE INDUCED MAGNETISM AND RESULTANT EXTERNAL FIELD.) cl 5 18.7 (APPLIED\nFIELD) cc 15.5 18.7 (INDUCED\nMAGNETISM) cc 2.5 23 (DEMAGNETIZED MATERIAL; EXTERNAL FIELD ZERO, REMANENCE ZERO) cl 11 24 ((A)) cc 17 37 (MAGNETIC\nDOMAINS) cc 21 3.8 (STRONG EXTERNAL FIELD REMOVED. SOME DOMAINS REALIGN; OTHERS STAY IN POSI- TION. MATERIAL IS NOW WEAKLY MAGNE- TIZED AND PROVIDES EXTERNAL FIELD THROUGH REMNANT MAGNETISM.) cl 33 18.7 (REMNANT\nMAGNETISM) cc 29.5 4.8 ((D)) cc 21 23 (WEAK EXTERNAL FIELD APPLIED; SOME DOMAINS REALIGN WITH INDUCED MAG- NETISM. SAMPLE PROVIDES A WEAK EXTERNAL FIELD.) cl 29 24 ((B)) cc 23 37 (APPLIED\nFIELD) cc 33.5 37 (INDUCED\nMAGNETISM) cc 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 %%%%%%%%%%%%%%%%%%% /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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (24) setlowleft -28 lineadj { 0 -2 1.5 0.92 % lines xshift yadjust scale here because of full width (artps24.1)} setps {0 2 2.6 % lines xindent yadj (Fig. 2. How induced and remanent magnetism is obtained.)} setfigtit (|1|z|y throughout time-so radically that an accurate history of these variations can be made well into the distant past. The varia- tions can often be calibrated against such things as historic records, cultural cross-dating, stratigraphic layering, or the atomic decay dating processes by using carbon-14 or potas- sium-argon-40. The variations in themselves may, in turn, be used as a secondary calibrated dating standard for new mea- surements. When many records from many areas are com- pared against each other, relative motions of the areas with respect to themselves and the magnetic poles become ap- prarent.|p Paleomagnetism and archeomagnetism are based upon "freezing" the intensity, declination, and inclination at an in- stant in the past as a permanent magnetic record in clay, in rock, or other materials. This recording process usually takes place due to the intense heating of the material, either in its volcanic origin, by man in a firepit or kiln, or by accidental coal and forest fires. If we are able to measure the intensity and direction of the magnetic vector with respect to the original position of the material (either at its location, or by the more common prac- tice of removing the sample to a laboratory after carefully marking its orientation), and if the material has behaved properly magnetically, and if we repeat the process for many tens of thousands of samples, we can trace out the entire history of the magnetic variations of the Earth. From these histories, relative movement, either localized or on a con- tinental basis, of the samples may be readily inferred. Rel- ative ages and, given some calibration, absolute dates may also be obtained. If we were to inspect a magnetic material under extreme magnification, we would find millions of well-defined, tiny areas called |2magnetic domains|1. Each domain by itself be- haves somewhat like a miniature bar magnet in that it tries to align itself with an externally applied magnetic field. In the absence of a magnetic field, each domain "points" in a random direction. While each domain has its own magnetic vector the net external sum of all of the randomly oriented magnetic-intensity vectors should be nearly zero. We say the material is |2demagnetized|1. There are mechanical forces set up at the domain walls every time a domain tries to align itself with an external field. These are called |1magnetostrictive|1 forces and they either pre- vent a domain from realigning itself or else they allow it to |k)settext changecolumn (|1|z|y realign itself, dissipating any constraining energy in the form of heat or a change in sample size.|p Some of these forces are strong; others are weak. Suppose as in Fig 2A, we look at a demagnetized material having no externally applied field present. The domains remain the way they were, oriented in a random manner. Now, if we apply a weak magnetic field (Fig. 2B), some of the magnetic do- mains will align themselves with the field, but others will be constrained by the domain-wall forces and will not be per- mitted to realign. A stronger magnetic field (Fig. 2C) will align more of the domains. An exceptionally strong external magnetic field could realign practically all of the domains and |2saturate|1 the material. We call the domain realignment in the presence of an ex- ternal magnetic field |2induced magnetism|1. If we remove the external magnetic field (Fig. 2D) some of the domains should return the way they originally were, driven by doman-wall forces. Others will stay in their new positions. We say the material has been |2magnetized|1 and the strength of the new magnetic-intensity vector produced is called the |2remanence|1 or the |2remanent magnetism|1. Eventually, any magnetized material loses its remnant magnetism and the internal domains re-orient themselves in random positions. The time required to demagnetize is called the |2relaxation time|1 and depends upon the material, the tem- perature, and the domain size. Fortunately for paleomagnetic work, the larger domains in paleomagnetic materials compare with the best of man-made permanent magnets and have re- laxation times of millions of years and longer. A magnetic material is "soft" if it is easy to magnetize and "hard" if it is difficult to magnetize and resistant to demag- netization. Temperature has a profound affect on magnetic hardness and softness. Alnico and other good permanent magnetic materials are first "softened" by heating to high temperatures, and are then easily magnetized. Cooling then "traps" the remanent magnetism in a very hard material. The same thing works for rocks and artifacts and is the key to paleomagnetism. ) settext (Magnetism of Rocks) centit (Rocks are made up mostly of nonmagnetic materials, but practically all rocks contain impurities of magnetite and he- matite. These are oxides of iron and are strongly magnetic. They, with the help of several related compounds, can give ordinary rocks the ability to record and store a magnetic intensity vector. There are many ways a rock can acquire magnetism and many ways it can lose magnetism. To be useful paleomagnet- ically, a rock must acquire its magnetism at a known and well-defined time, while at the same time erasing any pre- vious record and resisting any new changes. The magnetism acquired must, to be useful, be separable from newer effects and must be a faithful record of the intensity, declination, and inclination at the time of recording. The main ways of becoming magnetized are called |2thermo- remanent magnetization|1 (TRM), |2chemical remanent magne- tization|1 (CRM), |2detrital remanent magnetization|1 (DRM), and viscous remanent magnetization (VRM). Of these methods, thermoremanent magnetization is the best behaved and the most useful. Let us take a closer look at these techniques for acquiring magnetism. Thermoremanent magnetism is magnetism locked in a sample by intense heat. Magnetite and hematite at room tem- peratures are extremely "hard" and will have a very long relaxation time. Thus, any magnetism they may have are likely to keep. New magnetism is difficult to obtain. But whenever these materials are heated, a very unusual thing occurs. At a temperature called the |2Curie temperature|1 ( 578\260C for magnetite), the magnetic domains lose practi- cally all of their restraining forces, and the material becomes very "soft." It is then easily magnetized by whatever external |k) settext % setendarrow (ELECTRONICS WORLD) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page xx %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % EOF %%%%%%%%%%%%% page 25 %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster AMPM25A.PSL page 25 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CUSTOM ARTWORK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /artps25.3 { % figure 3b is the astatic isometric magnetometer % 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 470 621 40 470 div % scale to fit (http://www.tinaja.com/images/newgor02.pdf) (C:\\Documents and Settings\\don 2\\Desktop\\EW reprints\\ampm\\trace3.jpg)} setimg 40 54 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 12.5 20 translate % set arbitrary isometric center /xadj -12.5 store % if absolute grid is needed later /yadj -20 store black % 0 0 mt dot % temporary ref % demo draws a vertical cylinder % -10 20 0 5 20 ittcyl grestore gsave 180 setwebtint % ref axis for layout 2.75 2.75 -15 itt [1.5 0.5 0.5 0.5] 1 setdash line3 -9 0 mt 21 r 0 -9 mt 23 u 5 0.6 (REFERENCE AXIS) cl gsave 90 rotate 7.3 0.6 (REFERENCE AXIS) cl grestore grestore 0 0 -15 irt % sample right 0 0 mt 5 pu 5.5 pr 5 pd closepath gsave 160 setwebtint fill grestore line1 black stroke grestore 0 5.5 -15 ilt % sample left 0 0 mt 5 pu 5.5 pr 5 pd closepath gsave 160 setwebtint fill grestore line1 black stroke grestore -5.5 0 -4.5 itt % sample top 0 0 mt 5.5 pu 5.5 pr 5.5 pd closepath gsave 202 setwebtint fill grestore line1 black stroke grestore font1 black 0 -7.7 (SAMPLE) cc % no iso 2.5 4.5 (MIRROR) cl 20 22 (LIGHT SOURCE) cc -1 24.5 (FIBER) cr 4 30.5 (SUPPORT) cc %%%%%%%%%%%%%%%%%%%%%%%%%% /icylright {/cht exch store % warning: open gsave dup /cyldia exch store 2 div /crad exch store /zz1 exch store /yy1 exch store /xx1 exch store 0 0 0 itt % translate axis to center newpath 0 0 crad -135 45 arc cht -1 mul cht 1 mul rlineto currentpoint crad -.707 mul add exch crad -.707 mul add exch crad 45 -135 arcn closepath } store gsave 25 21 translate 120 rotate 0 0 0 2 5.5 icylright gsave 141 setwebtint fill grestore black line2 stroke grestore grestore %%%%%%%%%%%%%%%%%% gsave 25 21 translate % lens back -5.5 0 0 ilt 0 0 crad 0 360 arc gsave 106 setwebtint fill grestore line2 stroke grestore -8 0 0 ilt % lens front 0 0 1.25 0 360 arc gsave 106 setwebtint fill grestore line2 stroke grestore -8.4 0 0 ilt % main mirror back 0 0 1.25 0 360 arc gsave 106 setwebtint fill grestore line2 stroke grestore -28.5 0 0 ilt % main mirror front 0 0 1.75 0 360 arc gsave 106 setwebtint fill grestore line2 stroke grestore -28.9 0 0 ilt 0 0 1.75 0 360 arc gsave 106 setwebtint fill grestore line2 stroke grestore grestore % huh? %%%%%%%%%%%%%%%%%%%%% % light paths gsave [1 0.5 0.5 0.5] 0.5 setdash 5 setwebtint 14 xadj add 27.5 yadj add translate 30 rotate 0 0 mt 21.8 pr line3 stroke 18 rotate 0 0 mt 13 pr line3 stroke grestore %%%%%%%%%%%%%%%%%%%%% 0 6 -1 ilt % lower bar magnet 0 0 mt 2.5 pu 10 pr 2.5 pd closepath gsave 170 setwebtint fill grestore line1 stroke 4.5 1 (BAR MAGNET) cc grestore 0 6 1.5 itt 0 0 mt 2.5 pu 10 pr 2.5 pd closepath gsave 207 setwebtint fill grestore line1 stroke grestore 0 -4 -1 irt % lower mag end 0 0 mt 2.5 pu 2.5 pr 2.5 pd closepath gsave 206 setwebtint fill grestore line1 stroke font2 black 1.25 1 (N) cc grestore newpath %%%%%%%%%%%%%%%%% -.2 0 2.5 ilt % leftside of main support 0 0 mt 0.5 pl 10 pu 0.5 pr closepath gsave 95 setwebtint fill grestore line1 stroke newpath grestore -.2 0 2.5 irt % rightside of main support 0 0 mt 0.5 pr 10 pu 0.5 pl closepath gsave 17 setwebtint fill grestore line1 stroke newpath grestore newpath %%%%%%%%%% 0 6 9.5 ilt % upper bar magnet 0 0 mt 2.5 pu 10 pr 2.5 pd closepath gsave 170 setwebtint fill grestore line1 stroke 4.5 1 (BAR MAGNET) cc grestore 0 6 12.0 itt 0 0 mt 2.5 pu 10 pr 2.5 pd closepath gsave 207 setwebtint fill grestore line1 stroke grestore 0 -4 9.5 irt % upper mag end 0 0 mt 2.5 pu 2.5 pr 2.5 pd closepath gsave 206 setwebtint fill grestore line1 stroke font2 black 1.25 1 (S) cc grestore newpath % redo as spline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /showtick false store /ticklen 1.5 store -7.7 20.3 mt [ 0 0 15 10 19.8 -20 16 15.7 -50 15.5 7 -130 ] curvetrace 4.5 pd [0 0 50 16 11.2 130 10 15.3 160 -7.7 15.9 -165 ] curvetrace 4.5 pu closepath gsave 172 setwebtint fill grestore line3 stroke newpath %%%%%%% scale -6.7 17.2 mt [ 0 0 12 10 16.3 -20 16 12.2 -50 17.1 10 -90 % trim 16.5 5 -130 ] curvetrace 180 setwebtint line3 stroke line3 % scale tick marks 1 setlinecap 1 setlinejoin -6.7 17.2 mt 2 u -3.7 17.75 mt 2 u -0.7 18 mt 2 u 2.3 17.9 mt 2 u 5.3 17.6 mt 2 u 8.3 17.0 mt 2 u 11.3 15.9 mt 2 u 14 14.1 mt 2 u 16.3 12 mt 2 u 16.5 5 mt 2 u % crude patch gsave 172 setwebtint 16.25 7.8 mt 17.1 9.8 lineto 3.3 pd 0.2 pl 1 pu closepath fill grestore black 17.25 6.95 mt 5 pu line2 stroke % retouch huh??? gsave 21.4 xadj add 36.2 yadj add translate 1 setlinecap 5 setwebtint 0.4 setlinewidth 0 0 mt 3 u grestore /yinc 1 store font1 black 21 8 (PROJECTION\nSCALE) cc % currentpoint grestore mt % 4 d line1 stroke line2 stroke line3 1 setlinecap 1 setlinejoin -2 31 mt 3.5 r % support frame -1.8 31 mt 0.4 0.6 rlineto stroke -0.8 31 mt 0.4 0.6 rlineto stroke 0.2 31 mt 0.4 0.6 rlineto stroke 1.2 31 mt 0.4 0.6 rlineto stroke line1 0 31 mt 14.7 dx 3 d dot % fiber %% fibertack 0 0 13.4 itt 0 0 0.35 0 360 arc fill grestore 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 %%%%%%%%%%%%%%%%%%% /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 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (September, 1969) setlowleft (|z|y|1 field happens to he present. If the rock is allowed to cool with the same field present, the remanent magnetism locked in the rock becomes harder and harder as the temperature de- creases, finally becoming quite permanent. The acquired in- tensity is rather strong and while it may be masked by any lower-temperature latter-day magnetizations, it is very dif- ficult to destroy or damage. Reheating the sample beyond the Curie point will, of course. erase the old field record and record a new one.|p Other materials have temperatures equivalent to the Curie temperature. These are called the |2blocking temperature|1 or the |2Neel|1 temperature, depending on the material. Whenever these temperatures are exceeded, the material is very easy to magnetize. If allowed to cool with the field present, a rema- nence proportional to the applied field gets picked up. The cooled sample ends up very hard magnetically and a locked-in record will remain. Chemical remanent magnetization is caused by chemical processes that change impurities in the rock from nonmag- netic to magnetic compounds, locking in the field at the time of the chemical change. Sandstone turning red with age is one example of this. Any detrital remanent magnetization is caused by fine particles that slowly settle as dust or in water, aligning themselves with the applied field. Neither of these two latter processes is as strong, distinct, or as well-defined as the TRM process. Thus, at present, TRM is far more useful. Samples with useful TRM come in many forms. Clay is one of the best behaved. Clay gets fired by man in the form of pottery, kilns, and firepits, and it is fired by nature by forest fires and underground coal fires. Second best are volcanic lavas, with TRM taking place as the material cools on the surface of the earth or the bottom of the sea. Other materials, while useful paleomagnetically, often yield less reliable re- sults, with sediments or badly disturbed formations the poor- est of all. There are other ways magnetism can be picked up and methods by which the recording is either altered or made inherently misleading. Before a meaningful paleomagnetic measurement can be made, these other effects must be taken into account. Viscous remanent magnetism is soft, modern magnetism acquired as a result of the Earth's modern magnetic field, or it can even be caused by leaving a crowbar or other tool near the sample for a period of time. VRM must be removed before measurement. This usually gets done by a demagnetizing process to which the TRM is resistant but the VRM is not, and by making repeated measurements with the sample being stored in different positions for several weeks before each measurement. Some rocks magnetize more easily in one particular direc- tion, just as a sailboat will prefer to go forward even with the wind at an angle. Whenever a rock does this, it possesses |2magnetic anisotropy|1, and a casual magnetic measurement will "lie" as to the actual field direction. Modern tests must establish the existence of any anisotropy in many types of samples. This is often done by remagnetizing and noting any preferred directions of remanent magnetism. |2Anisolropic remanent magnetism|1 (ARM) gets caused by lightning-which produces such strong fields that it literally blasts a record into the rock that has nothing to do with the Earth's field. For this reason, rock outcroppings, particularly those on the very tops of mountains cannot produce reliable paleomagnetic records. Other problems include the relaxation time for very old work, the linearity of the remanence (usually good because the intensities are rather low), self-reversals (a rare and pe- culiar way certain samples have of altering their records long after recording), and the need for many samples to average out inconsistences and produce reliable results. To be useful, the magnetic intensity and direction of a sample must be measured to 1/2% and 1/2 degree accuracy, respectively. Samples are usually taken to a laboratory where |k) settext changecolumn -40 lineadj { 0 -2 2.6 0.95 % lines xshift yadjust scale (artps25.3)} setps {3 2 4.0 % lines xindent yadj (Fig. 3. Astatic magnetometer rotates in proportion to sample's remanent magnetism. Measurement on all three axes yields the total magnetic intensity along with inclination and declination.)} setfigtit (|1|z|y this kind of control can be maintained instead of being di- rectly measured in the field. Because of the low levels of mag- netism involved and the required accuracy, considerable care and relatively fancy measuring techniques are needed.|p An archeologist selects his samples from cultural remains, usually by isolating a smaller piece of firepit or a kiln and, without disturbing its orientation, molds the sample inside a cubical plaster cast several inches on a side. After the plaster has set, its form is removed and the position of the sample with respect to horizontal and true north is carefully marked on the plaster surface. Whenever possible, several samples are taken from the same site. A geologist usually uses a coring drill to obtain his samples. This drills a hollow circle through a rock stratum, leaving a core sample that may later be broken out and taken to the laboratory. Samples start out around an inch in diameter and several inches long; they are broken up into l-inch-high cyl- inders before any measurement. Once again, the exact sample orientation is carefully noted. Once in the laboratory, the samples undergo a week-long storage to eliminate any newly acquired VRM. They are then demagnetized at low temperatures by a relatively weak a.c. field that removes the VRM but leaves the TRM. The demag- netization is called |2magnetic washing|1, and after the a.c. field is applied it is gradually reduced in intensity until no field remains. To keep the present, modern Earth's field from in- troducing any bias into the readings, the entire demagnitizer is built inside a |1Helmholtz coil|1 system. The Helmholtz coil system has currents flowing through it that neutralize the local effects of the present Earth field. After magnetic wash- ing, the sample goes to a magnetometer for measurement. A magnetometer is an instrument that can measure the |k) settext % setendarrow (25) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page xx %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%% page 26 %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster AMPM26.PSL page 26 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /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 %%%%%%%%%%%%%%%%%%% /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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (36) setlowleft -16 lineadj /font- /StoneSerif [0.65 0 0 0.65 0 0.5] gonzofont % fake degrees { 0 -.5 2.4 1.2 % lines xshift yadjust scale here because of full width (artps26.4)} setps {13 2 3.2 % lines xindent yadj (Fig. 4. How the Earth's surface magnetic field strength has varied over the past 9000 years. Note the cyclic variation.)} setfigtit (|1|y|z strength of a magnetic field. There are several types. The simplest is called an |2astatic magnetomter|1, whose operation is diagrammed in Fig. 3.|p The astatic magnetometer consists of two opposed perma- nent magnets supported by a fine fiber. Any torque produced by the Earth's magnetic field on the bottom magnet is can- celed by an opposite torque on the upper one. Whenever a sample is brought near the bottom magnet, the magnet sys- tem rotates, being attracted to the sample, or away from it, just as a compass seeks magnetic north. Since the lower mag- net is closer to the sample, and since the sample's magnetic field falls off with distance, the lower magnet is much more strongly attracted than the top one is repelled. To indicate the degree of rotation, a mirror between the magnets reflects a narrow light beam and projects it on a large scale. In use, the instrument is zeroed in the absence of a sample. The sample is inserted in a specified direction and the light beam deflection is noted. The sample is then flipped up 90|-o|1 and remeasured, and then over 90|-o|1 and measured once again, giving the intensities along each of three axes. By combining the separate vectors geometrically, the magnitude and direc- tion of the locked-in vector are measured directly. The initial calculation is with respect to the faces of the plaster cube or another test axis. The actual values of inclina- tion or declination can then be found by relating the lab orientation and measurement to the field orientation. To allow for different sample sizes, the intensity usually gets normalized to either the volume intensity or the density intensity of the sample. This is done by dividing the intensity by either the volume or the density as desired, putting all samples on a similar base so they may be compared. Various types of magnetometers may be used, including the parastatic, the ballistic, the spinner, the resonance, and the fluxgate, among others. Each has its own advantages and disadvantages. While quite simple and extremely sensitive, the astatic magnetometer needs a field-free area well away from power lines and is quite delicate. The paleomagnetic measurement does not directly mea- sure the strength of the Earth's magnetic field. It merely measures a rock remanent magnetism that is proportional to the strength of the field at the time it was locked in. This proportionality is determined by the sample size, its magnetic impurities, how the field was recorded, and many other factors. To measure the actual intensity, the sample must be |k) settext {1 7.5 0 % lines xindent yadj (Fig. 5. A history of the Earth's more recent magnetic polarity reversals. Such reversals take several thousand years.)} setfigtitwide { 0 -3.2 -11.0 1.5 % lines xshift yadjust scale here because of full width (artps26.5)} setps changecolumn (demagnetized, heated to the Curie point, and remagnetized with a known intensity field. Comparing the inital measured intensity against the known modern measurement will give the original intensity in terms of the new field, thus calibrat- ing the sample.|p There are many complications with this technique, among which are chemical changes in the sample as it is being heated. There is a detailed and rigorous technique called the |2Thellier method|1, named after two pioneers in paleomagnetic work. The Thellier method demagnitizes and remagnetizes to progressively higher temperatures until the Curie point is reached. By comparing the linearity of each new result, the internal conststency of the sample is measured along with its paleomagnetism.) settext (The Earth's Magnetic Field) centit (|1|y|p Much has been learned about the Earth's magnetic field through paleomagnetism. We know now that the Earth's magnetic field is internally. generated, most likely by a mag- neto-hydrodynmmically driven self-excited dynamo effect caused by relative motions within the Earth's molten core. The most likely source of the original dynamo energy is the precession of the earth as it wobbles in orbit once every 25,800 years. We know that tremendous amounts of energy are involved - around 10 billion amperes of core current - and that the internal power generated contributes significantly to the core heating. While the total field energy is quite high, the surface in- tensity is rather low, around 0.5 Oersted, with localized max- ima and minima. We know these maxima and minima, called |2isophors|1, possess westerly drift in tune with the core motions. We know the shape of the field is mostly that of a dipole (like a bar magnet) that is now 11 degrees out of line with true north. We also do know there are two important lesser components resulting from various irregularities and internal turbulence. These components are most likely responsible for the self excitation, and are somewhat akin to the exciting field winding on a generator. When we turn to the paleomagnetic records, we find great variations in both the direction and the intensity of the field. Fig. 4 shows how the field intensity has varied over the past 9000 years. We see that the intensity is now decreasing from about 1.5 times its present value some 2000 years ago, and that the variation is sinusoidal, and presently goes through a single cycle in 9000 years or so. When the paleomagnetic record is pushed farther back, we find that the Earth's magnetic field has suddenly reversed some 26 times in the last 4.5-million years and probably many times before that. Dates of the known reversals are shown in Fig. 5. Reversals take several thousand years, an extremely short time geologically. The pole position does not change greatly during reversal-the field simply decreases in amplitude, goes through zero, and comes back up the other direction, just like the a.c. power line. During reversal, the other field components prevent a zero field condition, but the intensity does drop below a fifth its normal value during reversals. Either polarity is equally likely over a long trme period, and the field has been reversed just about as long as it has been normal. The Earth's magnetic field is (|j|2Continued on page 70|1|j) |k) settext % setendarrow (ELECTRONICS WORLD) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page xx %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % EOF %%%%%%%%%%%%%%% page 70 %!PS % "Level II" automatic book layout for Vee project EW format thermoluminescence study % ==================================================== % by Don Lancaster AMPM26.PSL page 26 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /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 %%%%%%%%%%%%%%%%%%% /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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% first vee sample %%%%%%%%%%%%%%%%%%%%%%%%% 999 false startpage % page# (999 for none) indenttopline (70) setlowleft -7 lineadj % make room for reformat (( Continued from page 26 ) an effective shield against any outer space |2gamma|1 radiation. During a reversal, much of this shielding is lost. It was once thought that the increase in |2gamma|1 radiation would directly cause mutations of organisms with both extinctions and the creation of new species. This has been generally discounted on the basis of lower atmosphere shielding and other effects.|p What the |2gamma|1 radiation increase does accomplish is profound climatic changes through changes in the upper atmosphere ionization levels and shifts in weather patterns. The results are definite changes in habitat. There is some evidence to back up major extinctions with reversals, again through the paleomagnetic record. ) settext (Geology Applications) centit (The Layered or stratigraphic ordering in a thick sequence of geological deposits can be uniquely positioned through the presence and length of all the reversals, sort of a "tree-ring" dating technique of use to the geologist. Given suitable cali- bration, absolute ages of deposits may be determined. Early magnetic surveys indicated strange anomalies in the middle of each major ocean, very straight areas with wildly varying inclinations and declinations on either side. Closer inspection has indicated that these are not anomalies at all, but are an exactly defined and symmetrical record of all the reversals in the past as newer and newer material is forced up the middle from the depths of the earth. This concept is called |2sea-floor spreading|1, and all the major oceans expand by an inch or so per year. Earthquakes seem to be somehow related to this spreading process. Should two samples of the same age in close proximity give different values of declination or inclination, we can conclude that one has moved with respect to the other after the TRM had been picked up. Tracing all of these motions reveals much about the origins of the earth and processes. These motions may be local, wide-area, or world-wide. Local rock and formation movement help explain faulting, erosion, mountain building, and related phenomena. Wide area motions allow the explanation and dating of any major landform separations, such as the opening of the Gulf of California, or Madagascar becoming an island. World-wide motions go under the name of |2continental drift|1. The original theory was based on the assumption that |k) settext changecolumn -9 lineadj (|1|zSouth America somehow ought to "fit" into the notch in Africa. Paleomagnetic variations were the first to support this theory. Paleogeologists have postulated the existence of two super-continents, Gondwanaland to the south and Laurasia to the north, which broke up some 60 million years ago.|p Within the last year, a tremendous amount of independent support for this theory has evolved, including more paleo- magnetic measurements, correlation of deposits in Africa and South America, mathematical fitting together of continental shelves, and satellite techniques. The amount of motion produced by sea-floor spreading provides a credible driving force for the drifting.|p Wholesale shifts in the positions of the magnetic poles in the distant past have also been observed. This is the theory of |2polar wandering|1, another palentological major study area. Again, principal and initial support for this theory is based on paleomagnetism.) settext (Archaeology Applications) centit (Archeologists use paleomagnetism as a support science, to gain cultural information, and as a tool for absolute dating. Since the time scale in archeomagnetism is typically less thau 10,000 years, the continents can be assumed to be stationary and the field can be assumed to be free from reversals. As a support science, paleomagnetism can explain some substantial inaccuracies in the carbon-14 dating technique, particularly a 750-year error some 4000 years ago. The errors are thought to be caused by gamma radiation variations and a new correction curve now exists which can greatly increase the accuracy of the C-14 process. Cultural information is gleaned from paleomagnetism in special instances. The inclination and declination of the magnetic field of rocks in a road can sometimes be traced to a particular quarry. Tradeware pottery can often be traced to its origin if the pot can be assumed to have been fired right side up. Other stone, materials, and cultural sources may sometimes be located by this technique. As an absolute dating tool, paleomagnetism can be very accurate (within 50 years or better) and will often work where no other dates can be gotten at all. But it is, however, only a secondary standard that must be carefully calibrated and the calibration is only useful over a 500 mile area or so. ) settext /setendarrow {gsave txtwide 1.2 sub 29.55 mt 0.5 1 rlineto 0.5 -1 rlineto % temp closepath 0 0 1 setrgbcolor fill grestore} store setendarrow % custom (ELECTRONICS WORLD) setlowright endpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page xx %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % EOF