aboutsummaryrefslogtreecommitdiffstats
path: root/doc/slides/outfile.ps
diff options
context:
space:
mode:
authorJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 19:30:11 +0000
committerJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 19:30:11 +0000
commit8f46edc41aee595aa25f91910b3cbe5f61237795 (patch)
tree7fac598cb4c5edc69abe255b986f2cba419df0b0 /doc/slides/outfile.ps
parent71bdb35d52747e6d7d9f55df4524d57c2966be94 (diff)
downloadlout-8f46edc41aee595aa25f91910b3cbe5f61237795.tar.gz
Lout 3.17 tag.3.17
git-svn-id: http://svn.savannah.nongnu.org/svn/lout/tags/3.17@4 9365b830-b601-4143-9ba8-b4a8e2c3339c
Diffstat (limited to 'doc/slides/outfile.ps')
-rw-r--r--doc/slides/outfile.ps4470
1 files changed, 0 insertions, 4470 deletions
diff --git a/doc/slides/outfile.ps b/doc/slides/outfile.ps
deleted file mode 100644
index ed978e9..0000000
--- a/doc/slides/outfile.ps
+++ /dev/null
@@ -1,4470 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: Basser Lout Version 3.17 (September 1999)
-%%CreationDate: Fri Sep 17 11:58:48 1999
-%%DocumentData: Binary
-%%DocumentNeededResources: (atend)
-%%DocumentMedia: Plain 595 842 0 white ()
-%%DocumentSuppliedResources: (atend)
-%%Pages: (atend)
-%%BoundingBox: 0 0 595 842
-%%EndComments
-
-%%BeginProlog
-%%BeginResource: procset LoutStartUp
-/m { 3 1 roll moveto show } bind def
-/s { exch currentpoint exch pop moveto show } bind def
-/k { exch neg 0 rmoveto show } bind def
-/ul { gsave setlinewidth dup 3 1 roll
- moveto lineto stroke grestore } bind def
-/in { 1440 mul } def
-/cm { 567 mul } def
-/pt { 20 mul } def
-/em { 120 mul } def
-/sp { louts mul } def
-/vs { loutv mul } def
-/ft { loutf mul } def
-/dg { } def
-
-/LoutGraphic {
- /louts exch def
- /loutv exch def
- /loutf exch def
- /ymark exch def
- /xmark exch def
- /ysize exch def
- /xsize exch def
-} def
-
-/LoutGr2 { gsave translate LoutGraphic gsave } def
-
-/LoutFont
-{ findfont exch scalefont setfont
-} bind def
-
-/LoutRecode {
- { findfont dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding exch def
- currentdict end definefont pop
- }
- stopped pop
-} bind def
-
-/BeginEPSF {
- /LoutEPSFState save def
- /dict_count countdictstack def
- /op_count count 1 sub def
- userdict begin
- /showpage { } def
- 0 setgray 0 setlinecap
- 1 setlinewidth 0 setlinejoin
- 10 setmiterlimit [] 0 setdash newpath
- /languagelevel where
- { pop languagelevel
- 1 ne
- { false setstrokeadjust false setoverprint
- } if
- } if
-} bind def
-
-/EndEPSF {
- count op_count sub { pop } repeat
- countdictstack dict_count sub { end } repeat
- LoutEPSFState restore
-} bind def
-%%EndResource
-
-%%BeginResource encoding vec2
-/vec2 [
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
-/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
-/zero /one /two /three /four /five /six /seven
-/eight /nine /colon /semicolon /less /equal /greater /question
-/at /A /B /C /D /E /F /G
-/H /I /J /K /L /M /N /O
-/P /Q /R /S /T /U /V /W
-/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
-/quoteleft /a /b /c /d /e /f /g
-/h /i /j /k /l /m /n /o
-/p /q /r /s /t /u /v /w
-/x /y /z /braceleft /bar /braceright /asciitilde /.notdef
-/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi
-/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction
-/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
-/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
-/space /exclamdown /cent /sterling /currency /yen /brokenbar /section
-/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
-/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
-/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
-/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
-/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
-/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
-/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
-/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
-/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
-/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
-/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
-] def
-%%EndResource
-
-%%BeginResource: procset LoutTabPrependGraphic
-% @PrependGraphic file /usr/staff/jeff/lout.lib/include/tabf.lpg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% PostScript @SysPrependGraphic file for @Tab %
-% %
-% To assist in avoiding name clashes, the names %
-% of all these symbols begin with "ltab". %
-% %
-% Jeffrey H. Kingston %
-% 24 September 1991 %
-% 22 December 1992 %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% linewidth ltabhs -
-% horizontal single line
-/ltabhs
-{ 0 0 moveto xsize 0 lineto
- setlinewidth 0 setlinecap stroke
-} def
-
-% linewidth ltabhsp -
-% horizontal single line with projecting ends
-/ltabhsp
-{ 0 0 moveto xsize 0 lineto
- setlinewidth 2 setlinecap stroke
-} def
-
-% linewidth ltabhd -
-% horizontal double line
-/ltabhd
-{ dup dup
- 0 0 moveto xsize 0 lineto
- 0 exch 3 mul moveto xsize exch 3 mul lineto
- setlinewidth 0 setlinecap stroke
-} def
-
-% linewidth ltabhdb -
-% horizontal double line below mark
-/ltabhdb
-{ dup dup
- 0 0 moveto xsize 0 lineto
- 0 exch -3 mul moveto xsize exch -3 mul lineto
- setlinewidth 0 setlinecap stroke
-} def
-
-% linewidth ltabhdnw -
-% horizontal double line with northwest corner
-/ltabhdnw
-{ dup dup dup dup
- 0 0 moveto xsize 0 lineto
- xsize exch 3 mul moveto
- -3 mul exch 3 mul lineto
- -3 mul 0 lineto
- setlinewidth 0 setlinejoin 2 setlinecap stroke
-} def
-
-% linewidth ltabhdne -
-% horizontal double line with northeast corner
-/ltabhdne
-{ dup dup dup dup
- 0 0 moveto xsize 0 lineto
- 0 exch 3 mul moveto
- 3 mul xsize add exch 3 mul lineto
- 3 mul xsize add 0 lineto
- setlinewidth 0 setlinejoin 2 setlinecap stroke
-} def
-
-% linewidth ltabhdsw -
-% horizontal double line with southwest corner
-/ltabhdsw
-{ dup dup dup dup
- 0 0 moveto xsize 0 lineto
- xsize exch -3 mul moveto
- -3 mul exch -3 mul lineto
- -3 mul 0 lineto
- setlinewidth 0 setlinejoin 2 setlinecap stroke
-} def
-
-% linewidth ltabhdse -
-% horizontal double line with southeast corner
-/ltabhdse
-{ dup dup dup dup
- 0 0 moveto xsize 0 lineto
- 0 exch -3 mul moveto
- 3 mul xsize add exch -3 mul lineto
- 3 mul xsize add 0 lineto
- setlinewidth 0 setlinejoin 2 setlinecap stroke
-} def
-
-% linewidth ltabvs -
-% vertical single line
-/ltabvs
-{ 0 0 moveto 0 ysize lineto
- setlinewidth 0 setlinecap stroke
-} def
-
-% linewidth ltabvd -
-% vertical double line
-/ltabvd
-{ dup dup
- 0 0 moveto 0 ysize lineto
- -3 mul 0 moveto -3 mul ysize lineto
- setlinewidth 0 setlinecap stroke
-} def
-
-% linewidth ltabvdr -
-% vertical double line to right of mark
-/ltabvdr
-{ dup dup
- 0 0 moveto 0 ysize lineto
- 3 mul 0 moveto 3 mul ysize lineto
- setlinewidth 0 setlinecap stroke
-} def
-%%EndResource
-
-%%BeginResource: procset LoutFigPrependGraphic
-% @PrependGraphic file /usr/staff/jeff/lout.lib/include/figf.lpg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% PostScript @SysPrependGraphic file for @Fig Jeffrey H. Kingston %
-% Version 2.0 (includes CIRCUM label) January 1992 %
-% %
-% To assist in avoiding name clashes, the names of all symbols %
-% defined here begin with "lfig". However, this is not feasible %
-% with user-defined labels and some labels used by users. %
-% %
-% <point> is two numbers, a point. %
-% <length> is one number, a length %
-% <angle> is one number, an angle in degrees %
-% <dashlength> is one number, the preferred length of a dash %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-errordict begin
- /handleerror
- {
- { /Times-Roman findfont 8 pt scalefont setfont
- 0 setgray 4 pt 4 pt moveto
- $error /errorname get
- dup lfigdict exch known
- { lfigdict exch get }
- { 30 string cvs } ifelse
- show
- ( Command: ) show
- $error /command get 30 string cvs show
- } stopped {} if
- showpage stop
- } def
-end
-
-% concat strings: <string> <string> lfigconcat <string>
-% must be defined outside lfigdict since used in lfigpromotelabels
-/lfigconcat
-{ 2 copy length exch length add string
- dup 0 4 index putinterval
- dup 3 index length 3 index putinterval
- 3 1 roll pop pop
-} def
-
-% <string> lfigdebugprint -
-% must be defined outside lfigdict since used in arbitrary places
-% /lfigdebugprint
-% { print
-% (; operand stack:\n) print
-% count copy
-% count 2 idiv
-% { ==
-% (\n) print
-% } repeat
-% (\n) print
-% } def
-
-/lfigdict 120 dict def
-lfigdict begin
-
-% error messages
-/dictfull (dictfull error: too many labels?) def
-/dictstackoverflow (dictstackoverflow error: labels nested too deeply?) def
-/execstackoverflow (execstackoverflow error: figure nested too deeply?) def
-/limitcheck (limitcheck error: figure nested too deeply or too large?) def
-/syntaxerror (syntaxerror error: syntax error in text of figure?) def
-/typecheck (typecheck error: syntax error in text of figure?) def
-/undefined (undefined error: unknown or misspelt label?) def
-/VMError (VMError error: run out of memory?) def
-
-% push pi onto stack: - lfigpi <num>
-/lfigpi 3.14159 def
-
-% arc directions
-/clockwise false def
-/anticlockwise true def
-
-% maximum of two numbers: <num> <num> lfigmax <num>
-/lfigmax { 2 copy gt { pop } { exch pop } ifelse } def
-
-% minimum of two numbers: <num> <num> lfigmin <num>
-/lfigmin { 2 copy lt { pop } { exch pop } ifelse } def
-
-% add two points: <point> <point> lfigpadd <point>
-/lfigpadd { exch 3 1 roll add 3 1 roll add exch } def
-
-% subtract first point from second: <point> <point> lfigpsub <point>
-/lfigpsub { 3 2 roll sub 3 1 roll exch sub exch } def
-
-% max two points: <point> <point> lfigpmax <point>
-/lfigpmax { exch 3 1 roll lfigmax 3 1 roll lfigmax exch } def
-
-% min two points: <point> <point> lfigpmin <point>
-/lfigpmin { exch 3 1 roll lfigmin 3 1 roll lfigmin exch } def
-
-% scalar multiplication: <point> <num> lfigpmul <point>
-/lfigpmul { dup 3 1 roll mul 3 1 roll mul exch } def
-
-% point at angle and distance: <point> <length> <angle> lfigatangle <point>
-/lfigatangle { 2 copy cos mul 3 1 roll sin mul lfigpadd } def
-
-% angle from one point to another: <point> <point> lfigangle <angle>
-/lfigangle { lfigpsub 2 copy 0 eq exch 0 eq and {pop} {exch atan} ifelse } def
-
-% distance between two points: <point> <point> lfigdistance <length>
-/lfigdistance { lfigpsub dup mul exch dup mul add sqrt } def
-
-% difference in x coords: <point> <point> lfigxdistance <length>
-/lfigxdistance { pop 3 1 roll pop sub } def
-
-%difference in y coords: <point> <point> lfigydistance <length>
-/lfigydistance { 3 1 roll pop sub exch pop } def
-
-% stroke a solid line: <length> <dashlength> lfigsolid -
-/lfigsolid
-{ pop pop [] 0 setdash stroke
-} def
-
-% stroke a lfigdashed line: <length> <dashlength> lfigdashed -
-/lfigdashed
-{ 2 copy div 2 le 1 index 0 le or
- { exch pop 1 pt lfigmax [ exch dup ] 0 setdash }
- { dup [ exch 4 2 roll 2 copy div
- 1 sub 2 div ceiling dup 4 1 roll
- 1 add mul sub exch div ] 0 setdash
- } ifelse stroke
-} def
-
-% stroke a lfigcdashed line: <length> <dashlength> lfigcdashed -
-/lfigcdashed
-{ 2 copy le 1 index 0 le or
- { exch pop 1 pt lfigmax [ exch dup ] dup 0 get 2 div setdash }
- { dup [ 4 2 roll exch 2 copy exch div
- 2 div ceiling div 1 index sub
- ] exch 2 div setdash
- } ifelse stroke
-} def
-
-% stroke a dotted line: <length> <dashlength> lfigdotted -
-/lfigdotted
-{ 2 copy le 1 index 0 le or
- { exch pop 1 pt lfigmax [ exch 0 exch ] 0 setdash }
- { 1 index exch div ceiling div
- [ 0 3 2 roll ] 0 setdash
- } ifelse stroke
-} def
-
-% stroke a noline line: <length> <dashlength> lfignoline -
-/lfignoline
-{ pop pop
-} def
-
-% painting (i.e. filling): - lfigwhite - (etc.)
-/lfignopaint { } def
-/lfignochange { fill } def
-/lfigdarkblue { 0.0 0.0 0.5 setrgbcolor fill } def
-/lfigblue { 0.0 0.0 1.0 setrgbcolor fill } def
-/lfiglightblue { 0.5 0.5 1.0 setrgbcolor fill } def
-/lfigdarkgreen { 0.0 0.5 0.0 setrgbcolor fill } def
-/lfiggreen { 0.0 1.0 0.0 setrgbcolor fill } def
-/lfiglightgreen { 0.5 1.0 0.5 setrgbcolor fill } def
-/lfigdarkred { 0.5 0.0 0.0 setrgbcolor fill } def
-/lfigred { 1.0 0.0 0.0 setrgbcolor fill } def
-/lfiglightred { 1.0 0.5 0.5 setrgbcolor fill } def
-/lfigdarkcyan { 0.0 0.5 0.5 setrgbcolor fill } def
-/lfigcyan { 0.0 1.0 1.0 setrgbcolor fill } def
-/lfiglightcyan { 0.5 1.0 1.0 setrgbcolor fill } def
-/lfigdarkmagenta { 0.5 0.0 0.5 setrgbcolor fill } def
-/lfigmagenta { 1.0 0.0 1.0 setrgbcolor fill } def
-/lfiglightmagenta { 1.0 0.5 1.0 setrgbcolor fill } def
-/lfigdarkyellow { 0.5 0.5 0.0 setrgbcolor fill } def
-/lfigyellow { 1.0 1.0 0.0 setrgbcolor fill } def
-/lfiglightyellow { 1.0 1.0 0.5 setrgbcolor fill } def
-/lfigdarkgray { 0.2 0.2 0.2 setrgbcolor fill } def
-/lfiggray { 0.5 0.5 0.5 setrgbcolor fill } def
-/lfiglightgray { 0.8 0.8 0.8 setrgbcolor fill } def
-/lfigdarkgrey { 0.2 0.2 0.2 setrgbcolor fill } def
-/lfiggrey { 0.5 0.5 0.5 setrgbcolor fill } def
-/lfiglightgrey { 0.8 0.8 0.8 setrgbcolor fill } def
-/lfigblack { 0.0 0.0 0.0 setrgbcolor fill } def
-/lfigwhite { 1.0 1.0 1.0 setrgbcolor fill } def
-
-% line caps (and joins, not currently used)
-/lfigbutt 0 def
-/lfiground 1 def
-/lfigprojecting 2 def
-/lfigmiter 0 def
-/lfigbevel 2 def
-
-% shape and labels of the @Box symbol
-/lfigbox
-{
- 0 0 /SW lfigpointdef
- xsize 0 /SE lfigpointdef
- xsize ysize /NE lfigpointdef
- 0 ysize /NW lfigpointdef
- SE 0.5 lfigpmul /S lfigpointdef
- NW 0.5 lfigpmul /W lfigpointdef
- W SE lfigpadd /E lfigpointdef
- S NW lfigpadd /N lfigpointdef
- NE 0.5 lfigpmul /CTR lfigpointdef
- [ CTR NE lfigpsub /lfigboxcircum cvx ] lfigcircumdef
- SW SE NE NW SW
-} def
-
-% shape and labels of the @CurveBox symbol
-/lfigcurvebox
-{
-
- xsize 0.5 mul ysize 0.5 mul /CTR lfigpointdef
- xsize 0.5 mul 0 /S lfigpointdef
- xsize ysize 0.5 mul /E lfigpointdef
- xsize 0.5 mul ysize /N lfigpointdef
- 0 ysize 0.5 mul /W lfigpointdef
-
- xmark 0.293 mul xmark 0.293 mul /SW lfigpointdef
- xsize xmark 0.293 mul sub xmark 0.293 mul /SE lfigpointdef
- xsize xmark 0.293 mul sub ysize xmark 0.293 mul sub /NE lfigpointdef
- xmark 0.293 mul ysize xmark 0.293 mul sub /NW lfigpointdef
-
- [ xsize ysize 0.5 lfigpmul xmark /lfigcurveboxcircum cvx ] lfigcircumdef
-
- xmark 0
- xsize xmark sub 0
- [ xsize xmark sub xmark ]
- xsize xmark
- xsize ysize xmark sub
- [ xsize xmark sub ysize xmark sub ]
- xsize xmark sub ysize
- xmark ysize
- [ xmark ysize xmark sub ]
- 0 ysize xmark sub
- 0 xmark
- [ xmark xmark ]
- xmark 0
-} def
-
-% shadow of the @ShadowBox symbol
-% its shape and labels are done, somewhat inaccurately, with lfigbox
-/lfigshadow
-{ xmark 2 mul 0 moveto xsize 0 lineto
- xsize ysize xmark 2 mul sub lineto
- xsize xmark sub ysize xmark 2 mul sub lineto
- xsize xmark sub xmark lineto
- xmark 2 mul xmark lineto closepath fill
-} def
-
-% shape and labels of the @Square symbol
-/lfigsquare
-{
- xsize ysize 0.5 lfigpmul /CTR lfigpointdef
- CTR xsize xsize ysize ysize lfigpmax 0.5 lfigpmul lfigpadd /NE lfigpointdef
- CTR 0 0 CTR NE lfigdistance 135 lfigatangle lfigpadd /NW lfigpointdef
- CTR 0 0 CTR NE lfigdistance 225 lfigatangle lfigpadd /SW lfigpointdef
- CTR 0 0 CTR NE lfigdistance 315 lfigatangle lfigpadd /SE lfigpointdef
- SW 0.5 lfigpmul SE 0.5 lfigpmul lfigpadd /S lfigpointdef
- NW 0.5 lfigpmul NE 0.5 lfigpmul lfigpadd /N lfigpointdef
- SW 0.5 lfigpmul NW 0.5 lfigpmul lfigpadd /W lfigpointdef
- SE 0.5 lfigpmul NE 0.5 lfigpmul lfigpadd /E lfigpointdef
- [ CTR NE lfigpsub /lfigboxcircum cvx ] lfigcircumdef
- SW SE NE NW SW
-} def
-
-% shape and labels of the @Diamond symbol
-/lfigdiamond
-{
- xsize 0 0.5 lfigpmul /S lfigpointdef
- 0 ysize 0.5 lfigpmul /W lfigpointdef
- S W lfigpadd /CTR lfigpointdef
- CTR W lfigpadd /N lfigpointdef
- CTR S lfigpadd /E lfigpointdef
- [ xsize ysize 0.5 lfigpmul /lfigdiamondcircum cvx ] lfigcircumdef
- S E N W S
-} def
-
-% shape and labels of the @Ellipse symbol
-/lfigellipse
-{
- xsize 0 0.5 lfigpmul /S lfigpointdef
- 0 ysize 0.5 lfigpmul /W lfigpointdef
- S W lfigpadd /CTR lfigpointdef
- CTR W lfigpadd /N lfigpointdef
- CTR S lfigpadd /E lfigpointdef
- CTR xsize 0 0.3536 lfigpmul lfigpadd 0 ysize 0.3536 lfigpmul lfigpadd /NE lfigpointdef
- 0 ysize 0.3536 lfigpmul CTR xsize 0 0.3536 lfigpmul lfigpadd lfigpsub /SE lfigpointdef
- xsize 0 0.3536 lfigpmul CTR lfigpsub 0 ysize 0.3536 lfigpmul lfigpadd /NW lfigpointdef
- 0 ysize 0.3536 lfigpmul xsize 0 0.3536 lfigpmul CTR lfigpsub lfigpsub /SW lfigpointdef
- [ xsize ysize 0.5 lfigpmul /lfigellipsecircum cvx ] lfigcircumdef
- S [ CTR ] E [ CTR ] N [ CTR ] W [ CTR ] S
-} def
-
-% shape and labels of the @Circle symbol
-/lfigcircle
-{
- xsize ysize 0.5 lfigpmul /CTR lfigpointdef
- CTR xsize 0 ysize 0 lfigpmax 0.5 lfigpmul lfigpadd /E lfigpointdef
- CTR 0 0 CTR E lfigdistance 45 lfigatangle lfigpadd /NE lfigpointdef
- CTR 0 0 CTR E lfigdistance 90 lfigatangle lfigpadd /N lfigpointdef
- CTR 0 0 CTR E lfigdistance 135 lfigatangle lfigpadd /NW lfigpointdef
- CTR 0 0 CTR E lfigdistance 180 lfigatangle lfigpadd /W lfigpointdef
- CTR 0 0 CTR E lfigdistance 225 lfigatangle lfigpadd /SW lfigpointdef
- CTR 0 0 CTR E lfigdistance 270 lfigatangle lfigpadd /S lfigpointdef
- CTR 0 0 CTR E lfigdistance 315 lfigatangle lfigpadd /SE lfigpointdef
- [ S E lfigpsub /lfigellipsecircum cvx ] lfigcircumdef
- S [ CTR ] E [ CTR ] N [ CTR ] W [ CTR ] S
-} def
-
-% shape and labels of the @HLine and @HArrow symbols
-/lfighline
-{
- 0 ymark lfigprevious /FROM lfigpointdef
- xsize ymark lfigprevious /TO lfigpointdef
-} def
-
-% shape and labels of the @VLine and @VArrow symbols
-/lfigvline
-{
- xmark ysize lfigprevious /FROM lfigpointdef
- xmark 0 lfigprevious /TO lfigpointdef
-} def
-
-% points of a polygon around base with given no of sides, vert init angle:
-% <sides> <angle> figpolygon <point> ... <point>
-/lfigpolygon
-{ xsize ysize 0.5 lfigpmul /CTR lfigpointdef
- 90 sub CTR 2 copy lfigmax 5 3 roll
- [ 4 copy pop /lfigpolycircum cvx ] lfigcircumdef
- exch dup 360 exch div exch
- 1 1 3 2 roll
- { 4 string cvs (P) exch lfigconcat cvn
- 6 copy pop pop lfigatangle 2 copy 10 2 roll
- 3 2 roll lfigpointdef
- dup 3 1 roll add exch
- } for
- pop lfigatangle
-} def
-
-% next array element: <array> <index> lfiggetnext <array> <index> <any> true
-% or <array> <index> false
-/lfiggetnext
-{ 2 copy exch length ge
- { false }
- { 2 copy get exch 1 add exch true } ifelse
-} def
-
-% check whether thing is number: <any> lfigisnumbertype <any> <bool>
-/lfigisnumbertype
-{ dup type dup
- /integertype eq exch /realtype eq or
-} def
-
-% check whether thing is an array: <any> lfigisarraytype <any> <bool>
-/lfigisarraytype { dup type /arraytype eq } def
-
-% get next item: <array> <index> lfiggetnextitem <array> <index> 0
-% or <array> <index> <array> 1
-% or <array> <index> <point> 2
-/lfiggetnextitem
-{ lfiggetnext
- { lfigisarraytype
- { 1
- }
- { lfigisnumbertype
- { 3 1 roll
- lfiggetnext
- { lfigisnumbertype
- { 4 3 roll exch 2
- }
- { pop 3 2 roll pop 0
- } ifelse
- }
- { 3 2 roll pop 0
- } ifelse
- }
- { pop 0
- } ifelse
- } ifelse
- }
- { 0
- } ifelse
-} def
-
-% set arc path: bool x1 y1 x2 y2 x0 y0 lfigsetarc <angle> <angle> <dist>
-% the path goes from x1 y1 to x2 y2 about centre x0 y0,
-% anticlockwise if bool is true else clockwise.
-% The orientations of backwards pointing and forwards pointing
-% arrowheads are returned in the two angles, and
-% the length of the arc is returned in <dist>.
-/lfigsetarc
-{
- 20 dict begin
- matrix currentmatrix 8 1 roll
- 2 copy translate 2 copy 8 2 roll
- 4 2 roll lfigpsub 6 2 roll lfigpsub
- dup /y1 exch def dup mul /y1s exch def
- dup /x1 exch def dup mul /x1s exch def
- dup /y2 exch def dup mul /y2s exch def
- dup /x2 exch def dup mul /x2s exch def
-
- y1s y2s eq
- { -1
- }
- { y1s x2s mul y2s x1s mul sub y1s y2s sub div
- } ifelse
- /da exch def
-
- x1s x2s eq
- { -1
- }
- { x1s y2s mul x2s y1s mul sub x1s x2s sub div
- } ifelse
- /db exch def
-
- da 0 gt db 0 gt and
- { /LMax da sqrt db sqrt lfigmax def
- /scalex da sqrt LMax div def
- /scaley db sqrt LMax div def
- scalex scaley scale
- 0 0 LMax
- 0 0 x1 scalex mul y1 scaley mul lfigangle
- 0 0 x2 scalex mul y2 scaley mul lfigangle
- 2 copy eq { 360 add } if
- 2 copy 8 2 roll
- 5 index { arc } { arcn } ifelse
- 2 index 1 index
- { 90 sub } { 90 add } ifelse
- dup sin scaley mul exch cos scalex mul atan
- 2 index 2 index
- { 90 add } { 90 sub } ifelse
- dup sin scaley mul exch cos scalex mul atan
- 5 2 roll % res1 res2 ang1 ang2 anticlockwise
- { exch sub } { sub } ifelse
- dup 0 le { 360 add } if lfigpi mul LMax mul 180 div
- }
- { 0 0 x1 y1 lfigdistance 0 0 x2 y2 lfigdistance eq
- 0 0 x1 y1 lfigdistance 0 gt and
- { 0 0
- 0 0 x1 y1 lfigdistance
- 0 0 x1 y1 lfigangle
- 0 0 x2 y2 lfigangle
- 2 copy eq { 360 add } if
- 2 copy 8 2 roll
- 5 index { arc } { arcn } ifelse
- 2 index 1 index
- { 90 sub } { 90 add } ifelse
- 2 index 2 index
- { 90 add } { 90 sub } ifelse
- 5 2 roll % res1 res2 ang1 ang2 clockwise
- { exch sub } { sub } ifelse
- dup 0 le { 360 add } if lfigpi mul 0 0 x1 y1 lfigdistance mul 180 div
- }
- { x2 y2 lineto pop
- x2 y2 x1 y1 lfigangle
- x1 y1 x2 y2 lfigangle
- x1 y1 x2 y2 lfigdistance
- } ifelse
- } ifelse
- 4 -1 roll setmatrix
- end
-} def
-
-% lfigsetcurve: set up a Bezier curve from x0 y0 to x3 y3
-% and return arrowhead angles and length of curve (actually 0)
-% x0 y0 x1 y1 x2 y2 x3 y3 lfigsetcurve <angle> <angle> <length>
-/lfigsetcurve
-{ 8 copy curveto pop pop
- lfigangle
- 5 1 roll
- 4 2 roll lfigangle
- exch
- 0
-} def
-
-% lfigpaintpath: paint a path of the given shape
-% /paint [ shape ] lfigpaintpath -
-/lfigpaintpath
-{
- 10 dict begin
- 0 newpath
- /prevseen false def
- /curveseen false def
- { lfiggetnextitem
- dup 0 eq { pop exit }
- { 1 eq
- { /curveseen true def
- /curve exch def
- curve length 0 eq { /curveseen false def } if
- }
- { /ycurr exch def
- /xcurr exch def
- prevseen
- { curveseen
- { curve length 4 eq
- { xprev yprev
- curve 0 get curve 1 get
- curve 2 get curve 3 get
- xcurr ycurr
- lfigsetcurve pop pop pop
- }
- { xprev yprev xcurr ycurr
- curve length 1 ge { curve 0 get } { 0 } ifelse
- curve length 2 ge { curve 1 get } { 0 } ifelse
- curve length 3 ge { curve 2 get } { true } ifelse
- 7 1 roll
- lfigsetarc pop pop pop
- } ifelse
- }
- { xcurr ycurr lineto
- } ifelse
- }
- { xcurr ycurr moveto
- } ifelse
- /xprev xcurr def
- /yprev ycurr def
- /prevseen true def
- /curveseen false def
- } ifelse
- } ifelse
- } loop pop pop cvx exec
- end
-} def
-
-% stroke a path of the given shape in the given linestyle and dash length.
-% Return the origin and angle of the backward and forward arrow heads.
-% dashlength /linestyle [shape] lfigdopath [<point> <angle>] [<point> <angle>]
-/lfigdopath
-{
- 10 dict begin
- 0
- /prevseen false def
- /curveseen false def
- /backarrow [] def
- /fwdarrow [] def
- {
- lfiggetnextitem
- dup 0 eq { pop exit }
- {
- 1 eq
- { /curveseen true def
- /curve exch def
- curve length 0 eq { /prevseen false def } if
- }
- { /ycurr exch def
- /xcurr exch def
- prevseen
- { newpath xprev yprev moveto
- curveseen
- { curve length 4 eq
- { xprev yprev
- curve 0 get curve 1 get
- curve 2 get curve 3 get
- xcurr ycurr lfigsetcurve
- }
- { xprev yprev xcurr ycurr
- curve length 1 ge { curve 0 get } { 0 } ifelse
- curve length 2 ge { curve 1 get } { 0 } ifelse
- curve length 3 ge { curve 2 get } { true } ifelse
- 7 1 roll
- lfigsetarc
- } ifelse
- }
- { xcurr ycurr lineto
- xcurr ycurr xprev yprev lfigangle dup 180 sub
- xprev yprev xcurr ycurr lfigdistance
- } ifelse
- 6 index 6 index cvx exec
- [ xprev yprev 5 -1 roll ]
- backarrow length 0 eq
- { /backarrow exch def }
- { pop } ifelse
- [ xcurr ycurr 4 -1 roll ] /fwdarrow exch def
- } if
- /xprev xcurr def
- /yprev ycurr def
- /prevseen true def
- /curveseen false def
- } ifelse
- } ifelse
- } loop
- pop pop pop pop
- backarrow length 0 eq { [ 0 0 0 ] } { backarrow } ifelse
- fwdarrow length 0 eq { [ 0 0 0 ] } { fwdarrow } ifelse
- end
-} def
-
-% lfigdoarrow: draw an arrow head of given form
-% dashlength /lstyle /pstyle hfrac height width [ <point> <angle> ] lfigdoarrow -
-/lfigdoarrow
-{ matrix currentmatrix 8 1 roll
- dup 0 get 1 index 1 get translate
- 2 get rotate
- [ 2 index neg 2 index 0 0
- 3 index 3 index neg
- 1 index 10 index mul 0
- 7 index 7 index ]
- 4 1 roll pop pop pop
- dup 3 1 roll
- gsave lfigpaintpath grestore lfigdopath pop pop
- setmatrix
-} def
-
-% arrow head styles
-/lfigopen 0.0 def
-/lfighalfopen 0.5 def
-/lfigclosed 1.0 def
-
-% stroke no arrows, forward, back, and both
-/lfignoarrow { pop pop pop pop pop pop pop pop } def
-/lfigforward { 7 -1 roll lfigdoarrow pop } def
-/lfigback { 8 -2 roll pop lfigdoarrow } def
-/lfigboth { 8 -1 roll 7 copy lfigdoarrow pop 7 -1 roll lfigdoarrow } def
-
-% lfigprevious: return previous point on path
-/lfigprevious
-{ lfigisnumbertype
- { 2 copy }
- { lfigisarraytype
- { 2 index 2 index }
- { 0 0 }
- ifelse
- } ifelse
-} def
-
-% label a point in 2nd top dictionary: <point> /name lfigpointdef -
-/lfigpointdef
-{
- % (Entering lfigpointdef) lfigdebugprint
- [ 4 2 roll transform
- /itransform cvx ] cvx
- currentdict end
- 3 1 roll
- % currentdict length currentdict maxlength lt
- % { def }
- % { exec moveto (too many labels) show stop }
- % ifelse
- def
- begin
- % (Leaving lfigpointdef) lfigdebugprint
-} def
-
-% promote labels from second top to third top dictionary
-% <string> lfigpromotelabels -
-/lfigpromotelabels
-{
- % (Entering lfigpromotelabels) lfigdebugprint
- currentdict end exch currentdict end
- { exch 20 string cvs 2 index
- (@) lfigconcat exch lfigconcat cvn exch def
- } forall pop begin
- % (Leaving lfigpromotelabels) lfigdebugprint
-} def
-
-% show labels (except CIRCUM): - lfigshowlabels -
-/lfigshowlabels
-{
- % (Entering lfigshowlabels) lfigdebugprint
- currentdict end
- currentdict
- { 1 index 20 string cvs (CIRCUM) search % if CIRCUM in key
- { pop pop pop pop pop }
- { pop cvx exec 2 copy
- newpath 1.5 pt 0 360 arc
- 0 setgray fill
- /Times-Roman findfont 8 pt scalefont setfont
- moveto 0.2 cm 0.1 cm rmoveto 20 string cvs show
- }
- ifelse
- } forall
- begin
- % (Leaving lfigshowlabels) lfigdebugprint
-} def
-
-% fix an angle to 0 <= res < 360: <angle> lfigfixangle <angle>
-/lfigfixangle
-{
- % (Entering lfigfixangle) lfigdebugprint
- { dup 0 ge { exit } if
- 360 add
- } loop
- { dup 360 lt { exit } if
- 360 sub
- } loop
- % (Leaving lfigfixangle) lfigdebugprint
-} def
-
-% find point on circumference of box: alpha a b lfigboxcircum x y
-/lfigboxcircum
-{
- % (Entering lfigboxcircum) lfigdebugprint
- 4 dict begin
- /b exch def
- /a exch def
- lfigfixangle /alpha exch def
- 0 0 a b lfigangle /theta exch def
-
- % if alpha <= theta, return (a, a*tan(alpha))
- alpha theta le
- { a a alpha sin mul alpha cos div }
- {
- % else if alpha <= 180 - theta, return (b*cot(alpha), b)
- alpha 180 theta sub le
- { b alpha cos mul alpha sin div b }
- {
- % else if alpha <= 180 + theta, return (-a, -a*tan(alpha))
- alpha 180 theta add le
- { a neg a neg alpha sin mul alpha cos div }
- {
- % else if alpha <= 360 - theta, return (-b*cot(alpha), -b)
- alpha 360 theta sub le
- { b neg alpha cos mul alpha sin div b neg }
- {
- % else 360 - theta <= alpha, return (a, a*tan(alpha))
- a a alpha sin mul alpha cos div
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- end
- % (Leaving lfigboxcircum) lfigdebugprint
-} def
-
-% find quadratic roots (assume a != 0): a b c lfigqroots x1 x2 2
-% or x2 1
-% or 0
-/lfigqroots
-{
- 4 dict begin
- /c exch def
- /b exch def
- /a exch def
- /disc b b mul 4 a c mul mul sub def
- disc 0 lt
- { 0
- }
- { disc 0 eq
- { b neg 2 a mul div
- 1
- }
- { b neg disc sqrt add 2 a mul div
- b neg disc sqrt sub 2 a mul div
- 2
- }
- ifelse
- }
- ifelse
- end
-} def
-
-% work our which quadrant: <angle> lfigquadrant <0-3>
-/lfigquadrant
-{ dup 90 lt
- { pop 0
- }
- { dup 180 lt
- { pop 1
- }
- { 270 lt
- { 2
- }
- { 3
- } ifelse
- } ifelse
- } ifelse
-} def
-
-% find curvebox circum, assuming upper right quadrant: alpha a b xmk lfigcb x y
-/lfigcb
-{
- 6 dict begin
- /xmk exch def
- /b exch def
- /a exch def
- /alpha exch def
- /theta1 0 0 a b xmk sub lfigangle def
- /theta2 0 0 a xmk sub b lfigangle def
- alpha theta1 le
- { % if alpha <= theta1, return (a, a*tan(alpha))
- a a alpha sin mul alpha cos div
- }
- { alpha theta2 ge
- { % else if alpha > theta2, return (b*cot(alpha), b)
- b alpha cos mul alpha sin div b
- }
- {
- % else, return the intersection of line and circle
- a xmk sub b xmk sub xmk 0 0 alpha lfigcircleintersect
- dup 0 eq
- { % should never happen, just return any reasonable point
- pop
- a b 0.5 lfigpmul
- }
- { 1 eq
- { % should never happen, just return the point on top of stack
- }
- { % the usual case, two points on stack, return the larger
- lfigpmax
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- end
-} def
-
-% find point on circumference of curvebox: alpha a b xmk lfigcurveboxcircum x y
-/lfigcurveboxcircum
-{
- % (Entering lfigcurveboxcircum) lfigdebugprint
- 5 dict begin
- /xmk exch def
- /b exch def
- /a exch def
- lfigfixangle /alpha exch def
-
- % work out which quadrant we are in, and reflect accordingly
- /quad alpha lfigquadrant def
- quad 0 eq
- { alpha a b xmk lfigcb
- }
- { quad 1 eq
- { 180 alpha sub a b xmk lfigcb exch neg exch
- }
- { quad 2 eq
- { alpha 180 sub a b xmk lfigcb neg exch neg exch
- }
- { 360 alpha sub a b xmk lfigcb neg
- } ifelse
- } ifelse
- } ifelse
- end
- % (Leaving lfigcurveboxcircum) lfigdebugprint
-} def
-
-% find point on circumference of diamond: alpha a b lfigdiamondcircum x y
-/lfigdiamondcircum
-{
- % (Entering lfigdiamondcircum) lfigdebugprint
- 4 dict begin
- /b exch def
- /a exch def
- lfigfixangle /alpha exch def
- b alpha cos abs mul a alpha sin abs mul add /denom exch def
- a b mul alpha cos mul denom div
- a b mul alpha sin mul denom div
- end
- % (Leaving lfigdiamondcircum) lfigdebugprint
-} def
-
-% find point on circumference of ellipse: alpha a b lfigellipsecircum x y
-/lfigellipsecircum
-{
- % (Entering lfigellipsecircum) lfigdebugprint
- 4 dict begin
- /b exch def
- /a exch def
- lfigfixangle /alpha exch def
- b alpha cos mul dup mul a alpha sin mul dup mul add sqrt /denom exch def
- a b mul alpha cos mul denom div
- a b mul alpha sin mul denom div
- end
- % (Leaving lfigellipsecircum) lfigdebugprint
-} def
-
-% find point of intersection of two lines each defined by two points
-% x1 y1 x2 y2 x3 y3 x4 y4 lfiglineintersect x y
-/lfiglineintersect
-{
- % (Entering lfiglineintersect) lfigdebugprint
- 13 dict begin
- /y4 exch def
- /x4 exch def
- /y3 exch def
- /x3 exch def
- /y2 exch def
- /x2 exch def
- /y1 exch def
- /x1 exch def
- x2 x1 sub /x21 exch def
- x4 x3 sub /x43 exch def
- y2 y1 sub /y21 exch def
- y4 y3 sub /y43 exch def
- y21 x43 mul y43 x21 mul sub /det exch def
-
- % calculate x
- y21 x43 mul x1 mul
- y43 x21 mul x3 mul sub
- y3 y1 sub x21 mul x43 mul add
- det div
-
- % calculate y
- x21 y43 mul y1 mul
- x43 y21 mul y3 mul sub
- x3 x1 sub y21 mul y43 mul add
- det neg div
-
- end
- % (Leaving lfiglineintersect) lfigdebugprint
-} def
-
-% find point on circumference of polygon
-% alpha radius num theta lfigpolycircum x y
-/lfigpolycircum
-{
- % (Entering lfigpolycircum) lfigdebugprint
- 13 dict begin
- /theta exch def
- /num exch def
- /radius exch def
- /alpha exch def
-
- % calculate delta, the angle from theta to alpha
- alpha theta sub lfigfixangle
-
- % calculate the angle which is the multiple of 360/num closest to delta
- 360 num div div truncate 360 num div mul theta add /anglea exch def
-
- % calculate the next multiple of 360/num after anglea
- anglea 360 num div add /angleb exch def
-
- % intersect the line through these two points with the alpha line
- anglea cos anglea sin angleb cos angleb sin
- 0 0 alpha cos 2 mul alpha sin 2 mul
- lfiglineintersect radius lfigpmul
-
- end
- % (Leaving lfigpolycircum) lfigdebugprint
-} def
-
-% find point of intersection of a point and a circle
-% x0 y0 r x1 y1 theta lfigcircleintersect xa ya xb yb 2
-% or xb yb 1
-% or 0
-/lfigcircleintersect
-{
- % (Entering lfigcircleintersect) lfigdebugprint
- 15 dict begin
- /theta exch def
- /y1 exch def
- /x1 exch def
- /r exch def
- /y0 exch def
- /x0 exch def
-
- % if sin(theta) = 0 then line is horizontal and y must be y1
- theta sin abs 0.00001 lt
- {
- /a 1 def
- /b -2 x0 mul def
- /c x0 dup mul y1 y0 sub dup mul add r dup mul sub def
- a b c lfigqroots dup
- 0 eq
- { pop
- 0
- }
- { 1 eq
- { y1 1
- }
- { y1 exch y1 2
- } ifelse
- } ifelse
- }
- {
- /ct theta cos theta sin div def
- /a ct ct mul 1 add def
- /b ct x1 x0 sub mul y1 add y0 sub 2 mul def
- /c x1 x0 sub dup mul y1 y0 sub dup mul add r dup mul sub def
- a b c lfigqroots dup
- 0 eq
- { pop
- 0
- }
- { 1 eq
- { y1 add /yb exch def
- yb y1 sub ct mul x1 add /xb exch def
- xb yb 1
- }
- { y1 add /ya exch def
- ya y1 sub ct mul x1 add /xa exch def
- y1 add /yb exch def
- yb y1 sub ct mul x1 add /xb exch def
- xa ya xb yb 2
- } ifelse
- } ifelse
- } ifelse
- end
- % (Leaving lfigcircleintersect) lfigdebugprint
-} def
-
-% add CIRCUM operator with this body: <array> lfigcircumdef -
-/lfigcircumdef
-{ % (Entering lfigcircumdef) lfigdebugprint
- /CIRCUM exch cvx
- currentdict end
- 3 1 roll
- % currentdict length currentdict maxlength lt
- % { def }
- % { exec moveto (too many labels) show stop }
- % ifelse
- def
- begin
- % (Leaving lfigcircumdef) lfigdebugprint
-} def
-
-end
-%%EndResource
-
-%%BeginResource: procset LoutGraphPrependGraphic
-% @PrependGraphic file /usr/staff/jeff/lout.lib/include/graphf.lpg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% PostScript @SysPrependGraphic file for @Graph (Version 1.0) %
-% %
-% Version 1.0 by Jeffrey H. Kingston, December 1993. %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-errordict begin
- /handleerror
- {
- { /Times-Roman findfont 8 pt scalefont setfont
- 0 setgray 4 pt 4 pt moveto
- $error /errorname get
- dup lgraphdict exch known
- { lgraphdict exch get }
- { 30 string cvs } ifelse
- show
- ( Command: ) show
- $error /command get 30 string cvs show
- } stopped {} if
- showpage stop
- } def
-end
-
-/lgraphdict 200 dict def
-lgraphdict begin
-
-% error messages
-/dictfull (dictfull error) def
-/dictstackoverflow (dictstackoverflow error) def
-/execstackoverflow (execstackoverflow error: expression too complex?) def
-/limitcheck (limitcheck error: graph too complex or too large?) def
-/syntaxerror (syntaxerror error: syntax error in text of graph?) def
-/typecheck (typecheck error: syntax error in text of graph?) def
-/undefined (undefined error: unknown or misspelt symbol?) def
-/rangecheck (rangecheck error: undefined expression (e.g. divide by zero)?) def
-/VMError (VMError error: run out of memory?) def
-
-% random number between x and y inclusive: x y dorand num
-/dorand { 1 index sub 1 add rand exch mod add } def
-
-% log to given base: base num dolog num
-/dolog { ln exch ln div } def
-
-% maximum of two numbers: <num> <num> max <num>
-/max { 2 copy gt { pop } { exch pop } ifelse } def
-
-% add two points: <point> <point> padd <point>
-/padd { exch 3 1 roll add 3 1 roll add exch } def
-
-% subtract first point from second: <point> <point> psub <point>
-/psub { 3 2 roll sub 3 1 roll exch sub exch } def
-
-% distance between two points: <point> <point> distance <length>
-/distance { psub dup mul exch dup mul add sqrt } def
-
-% point at angle and distance: <point> <length> <angle> atangle <point>
-/atangle { 2 copy cos mul 3 1 roll sin mul padd } def
-
-% angle from one point to another: <point> <point> angle <angle>
-/angle { psub 2 copy 0 eq exch 0 eq and {pop} {exch atan} ifelse } def
-
-
-% set up for line
-% - linesetup <length> <dashlength>
-/linesetup
-{ newpath
- xcurr ycurr trpoint xprev yprev trpoint
- 4 copy moveto lineto distance dashlength
-} def
-
-% set up for icon-avoiding line
-% - ilinesetup <length> <dashlength>
-/ilinesetup
-{ newpath
- xprev yprev trpoint xcurr ycurr trpoint 4 copy
- 4 copy angle symbolsize 1.5 mul exch 4 2 roll pop pop atangle
- 6 2 roll 4 2 roll
- 4 copy angle symbolsize 1.5 mul exch 4 2 roll pop pop atangle
- 4 copy moveto lineto distance dashlength
-} def
-
-
-% stroke a solid line: <length> <dashlength> solid -
-/solid
-{ pop pop [] 0 setdash linewidth setlinewidth stroke
-} def
-
-% stroke a dashed line: <length> <dashlength> dashed -
-/dashed
-{ 2 copy 2 mul le 1 index 0 le or
- { exch pop 1 pt max [ exch dup ] 0 setdash }
- { dup [ exch 4 2 roll 2 copy div
- 1 sub 2 div ceiling dup 4 1 roll
- 1 add mul sub exch div ] 0 setdash
- } ifelse linewidth setlinewidth stroke
-} def
-
-% stroke a cdashed line: <length> <dashlength> cdashed -
-/cdashed
-{ 2 copy le 1 index 0 le or
- { exch pop 1 pt max [ exch dup ] dup 0 get 2 div setdash }
- { dup [ 4 2 roll exch 2 copy exch div
- 2 div ceiling div 1 index sub
- ] exch 2 div setdash
- } ifelse linewidth setlinewidth stroke
-} def
-
-% stroke a dotted line: <length> <dashlength> dotted -
-/dotted
-{ 2 copy le 1 index 0 le or
- { exch pop 1 pt max [ exch 0 exch ] 0 setdash }
- { 1 index exch div ceiling div 0.99999 mul
- [ 0 3 2 roll ] 0 setdash
- } ifelse gsave 1 setlinecap linewidth setlinewidth stroke grestore newpath
-} def
-
-% stroke a noline line: <length> <dashlength> noline -
-/noline
-{ pop pop
-} def
-
-% stroke a y histogram: - yhisto -
-/yhisto
-{ xprev yleft trpoint yextra sub moveto
- xprev yprev trpoint lineto
- xcurr yprev trpoint lineto
- xcurr yleft trpoint yextra sub lineto
- linewidth setlinewidth stroke
-} def
-
-% stroke an x histogram: - xhisto -
-/xhisto
-{ xleft yprev trpoint exch xextra sub exch moveto
- xcurr yprev trpoint lineto
- xcurr ycurr trpoint lineto
- xleft ycurr trpoint exch xextra sub exch lineto
- linewidth setlinewidth stroke
-} def
-
-% stroke a surface y histogram: - surfaceyhisto -
-/surfaceyhisto
-{ firstpair
- { xprev yleft trpoint yextra sub moveto
- xprev yprev trpoint lineto
- }
- { xprev yprev trpoint moveto
- } ifelse
- xcurr yprev trpoint lineto
- lastpair
- { xcurr yleft trpoint yextra sub lineto
- }
- { xcurr ycurr trpoint lineto
- } ifelse
- linewidth setlinewidth stroke
-} def
-
-% stroke a surface x histogram: - surfacexhisto -
-/surfacexhisto
-{ firstpair
- { xleft yprev trpoint exch xextra sub exch moveto
- }
- { xprev yprev trpoint moveto
- } ifelse
- xcurr yprev trpoint lineto
- xcurr ycurr trpoint lineto
- lastpair
- { xleft ycurr trpoint exch xextra sub exch lineto
- } if
- linewidth setlinewidth stroke
-} def
-
-% stroke a filled y histogram: - filledyhisto -
-/filledyhisto
-{
- linewidth setlinewidth
- xprev yleft trpoint exch currentlinewidth 2 div add exch yextra sub moveto
- xprev yprev trpoint exch currentlinewidth 2 div add exch lineto
- xcurr yprev trpoint exch currentlinewidth 2 div sub exch lineto
- xcurr yleft trpoint exch currentlinewidth 2 div sub exch yextra sub lineto
- closepath fill
-} def
-
-% stroke a filled x histogram: - filledxhisto -
-/filledxhisto
-{
- linewidth setlinewidth
- xleft yprev trpoint currentlinewidth 2 div add exch xextra sub exch moveto
- xcurr yprev trpoint currentlinewidth 2 div add lineto
- xcurr ycurr trpoint currentlinewidth 2 div sub lineto
- xleft ycurr trpoint currentlinewidth 2 div sub exch xextra sub exch lineto
- closepath fill
-} def
-
-
-% cross: show a small cross
-/cross
-{ newpath
- xcurr ycurr trpoint moveto
- symbolsize neg symbolsize neg rmoveto
- symbolsize 2 mul symbolsize 2 mul rlineto
- 0 symbolsize -2 mul rmoveto
- symbolsize -2 mul symbolsize 2 mul rlineto
- [] 0 setdash stroke
-} def
-
-% plus: show a small plus
-/plus
-{ newpath
- xcurr ycurr trpoint moveto
- symbolsize neg 0 rmoveto
- symbolsize 2 mul 0 rlineto
- symbolsize neg symbolsize neg rmoveto
- 0 symbolsize 2 mul rlineto
- [] 0 setdash stroke
-} def
-
-% square: show a small square
-/square
-{ newpath
- xcurr ycurr trpoint moveto
- symbolsize neg symbolsize neg rmoveto
- symbolsize 2 mul 0 rlineto
- 0 symbolsize 2 mul rlineto
- symbolsize -2 mul 0 rlineto
- closepath [] 0 setdash stroke
-} def
-
-% filledsquare: show a small filled square
-/filledsquare
-{ newpath
- xcurr ycurr trpoint moveto
- symbolsize neg symbolsize neg rmoveto
- symbolsize 2 mul 0 rlineto
- 0 symbolsize 2 mul rlineto
- symbolsize -2 mul 0 rlineto
- closepath gsave [] 0 setdash stroke grestore fill
-} def
-
-% diamond: show a small diamond
-/diamond
-{ newpath
- xcurr ycurr trpoint moveto
- symbolsize neg 0 rmoveto
- symbolsize symbolsize neg rlineto
- symbolsize symbolsize rlineto
- symbolsize neg symbolsize rlineto
- closepath [] 0 setdash stroke
-} def
-
-% filleddiamond: show a small filled diamond
-/filleddiamond
-{ newpath
- xcurr ycurr trpoint moveto
- symbolsize neg 0 rmoveto
- symbolsize symbolsize neg rlineto
- symbolsize symbolsize rlineto
- symbolsize neg symbolsize rlineto
- closepath gsave [] 0 setdash stroke grestore fill
-} def
-
-% circle: show a small circle
-/circle
-{ newpath
- xcurr ycurr trpoint symbolsize 0 360 arc [] 0 setdash stroke
-} def
-
-% filledcircle: show a small filled circle
-/filledcircle
-{ newpath
- xcurr ycurr trpoint symbolsize 0 360 arc gsave [] 0 setdash stroke grestore fill
-} def
-
-% triangle: show a small triangle
-/triangle
-{ newpath
- xcurr ycurr trpoint moveto
- 0 symbolsize 1.5 mul rmoveto
- symbolsize neg symbolsize -2.5 mul rlineto
- symbolsize 2 mul 0 rlineto
- closepath [] 0 setdash stroke
-} def
-
-% filledtriangle: show a small filled triangle
-/filledtriangle
-{ newpath
- xcurr ycurr trpoint moveto
- 0 symbolsize 1.5 mul rmoveto
- symbolsize neg symbolsize -2.5 mul rlineto
- symbolsize 2 mul 0 rlineto
- closepath gsave [] 0 setdash stroke grestore fill
-} def
-
-
-%plog: like log only with a base, and protected from failing if <= 0
-% base x plog res
-/plog { dup 0 le { pop pop 0 } { ln exch ln div } ifelse } def
-
-% xtr: transform one x value logarithmically if xlog > 1
-% <num> xtr <num>
-/xtr
-{ xlog 1 gt
- { xlog exch plog
- } if
-} def
-
-% ytr: transform one y value logarithmically if ylog > 1
-% <num> ytr <num>
-/ytr
-{ ylog 1 gt
- { ylog exch plog
- } if
-} def
-
-% % trpoint: transform (x, y) in graph space into (x', y') in print space
-% % x y trpoint x' y'
-% /trpoint
-% { exch xtr trxmin sub trxmax trxmin sub div xwidth mul xextra add
-% exch ytr trymin sub trymax trymin sub div ywidth mul yextra add
-% } def
-
-
-% trpoint: transform (x, y) in graph space into (x', y') in print space
-% x y trpoint x' y'
-/trpoint
-{ exch xtr xdecr { trxmax exch sub } { trxmin sub } ifelse
- trxmax trxmin sub div xwidth mul xextra add
-
- exch ytr ydecr { trymax exch sub } { trymin sub } ifelse
- trymax trymin sub div ywidth mul yextra add
-} def
-
-
-% yonly: interpolate x values 1, 2, ... into data
-% [ data ] yonly [ newdata ]
-/yonly
-{ dup /tmp exch def
- length [ exch 1 exch 1 exch
- { dup tmp exch 1 sub get
- } for
- ]
-} def
-
-% xonly: interpolate y values 1, 2, ... into data
-% [ data ] yonly [ newdata ]
-/xonly
-{ dup /tmp exch def
- length [ exch 1 exch 1 exch
- { dup tmp exch 1 sub get exch
- } for
- ]
-} def
-
-% xandy: no interpolation of x or y values
-% [ data ] xandy [ data ]
-/xandy {} def
-
-
-% expstringwidth: calculate width of string containing optional exponent
-% <string> expstringwidth <width>
-/expstringwidth
-{ (^) search
- { exch pop stringwidth pop exch stringwidth pop 0.7 mul add }
- { stringwidth pop }
- ifelse
-} def
-
-% expstringshow: show string containing optional exponent
-% <string> expstringshow -
-/expstringshow
-{ (^) search
- { exch pop show 0 0.5 ft rmoveto
- gsave currentfont 0.7 scalefont setfont show grestore
- }
- { show
- }
- ifelse
-} def
-
-% concatenate two strings: <string> <string> strconcat <string>
-/strconcat
-{ 2 copy length exch length add string
- dup 0 4 index putinterval
- dup 3 index length 3 index putinterval
- 3 1 roll pop pop
-} def
-
-% lgen: generate one label automatically
-% num lgen num string
-/lgen { dup 20 string cvs } def
-
-% loglgen: generate one logarithmic label (with exponent)
-% <base> <exponent> loglgen <string>
-/loglgen
-{ 20 string cvs exch 20 string cvs
- (^) strconcat exch strconcat
-} def
-
-
-% printxtick: print one x tick
-% xpos printxtick -
-/printxtick
-{ newpath
- yleft trpoint moveto 0 yextra neg rmoveto
- 0 xticklength neg rlineto [] 0 setdash stroke
-} def
-
-% printxlabel: print one x label
-% (xlabel) xpos printxlabel -
-/printxlabel
-{ yleft trpoint moveto 0 yextra neg rmoveto
- 0 xticklength neg rmoveto 0 0.9 ft neg rmoveto
- xlog 1 gt { 0 0.3 ft neg rmoveto } if
- dup expstringwidth -2 div 0 rmoveto expstringshow
-} def
-
-% printytick: print one y tick
-% ypos printytick -
-/printytick
-{ newpath
- xleft exch trpoint moveto xextra neg 0 rmoveto
- yticklength neg 0 rlineto [] 0 setdash stroke
-} def
-
-% printylabel: print one y label
-% (ylabel) ypos printylabel -
-/printylabel
-{ xleft exch trpoint moveto xextra neg 0 rmoveto
- yticklength neg 0 rmoveto -0.3 ft -0.3 ft rmoveto
- dup expstringwidth neg 0 rmoveto expstringshow
-} def
-
-% printrtick: print one r tick
-% ypos printrtick -
-/printrtick
-{ newpath
- xright exch trpoint moveto xextra 0 rmoveto
- rticklength 0 rlineto [] 0 setdash stroke
-} def
-
-% printrlabel: print one r label
-% (rlabel) ypos printrlabel -
-/printrlabel
-{ xright exch trpoint moveto xextra 0 rmoveto
- rticklength 0 rmoveto 0.3 ft -0.3 ft rmoveto
- expstringshow
-} def
-
-% printticks: print ticks and labels
-% /tickproc /labelproc [ tickandlabeldata ] min printticks -
-/printticks
-{ /prev exch def
- { dup type dup dup /integertype eq exch /realtype eq or
- { pop dup /prev exch def 2 index cvx exec
- }
- { /stringtype eq
- { prev 2 index cvx exec
- }
- { pop
- } ifelse
- } ifelse
- } forall
- pop pop
-} def
-
-
-% printxaxistick: print one x axis tick
-% xpos printxaxistick -
-/printxaxistick
-{ newpath
- yaxis trpoint moveto 0 xticklength -2 div rmoveto
- 0 xticklength rlineto [] 0 setdash stroke
-} def
-
-% printxaxislabel: print one x axis label
-% (xlabel) xpos printxaxislabel -
-/printxaxislabel
-{ yaxis trpoint moveto
- 0 xticklength -2 div rmoveto 0 0.9 ft neg rmoveto
- xlog 1 gt { 0 0.3 ft neg rmoveto } if
- dup expstringwidth -2 div 0 rmoveto expstringshow
-} def
-
-% printyaxistick: print one y axis tick
-% ypos printyaxistick -
-/printyaxistick
-{ newpath
- xaxis exch trpoint moveto
- yticklength -2 div 0 rmoveto
- yticklength 0 rlineto [] 0 setdash stroke
-} def
-
-% printyaxislabel: print one y axis label
-% (ylabel) ypos printyaxislabel -
-/printyaxislabel
-{ xaxis exch trpoint moveto
- yticklength -2 div 0 rmoveto -0.3 ft -0.3 ft rmoveto
- dup expstringwidth neg 0 rmoveto expstringshow
-} def
-
-
-% <val> minmax -
-% perform minv := min(minv, val); maxv := max(maxv, val)
-% allowing for the possibility of minv, maxv, val being false (undefined)
-/minmax
-{ dup false eq
- { pop }
- { minv false eq
- { dup /minv exch def /maxv exch def }
- { dup minv lt
- { /minv exch def }
- { dup maxv gt
- { /maxv exch def }
- { pop }
- ifelse
- } ifelse
- } ifelse
- } ifelse
-} def
-
-% <ticks> ticksundef <ticks> <bool>
-% returns true iff the ticks array is undefined (one false entry)
-/ticksundef
-{ dup length 1 eq
- { dup 0 get false eq
- }
- { false }
- ifelse
-} def
-
-% <number> integral <boolean>
-% true if the number has an integral value
-/integral { dup round eq } def
-
-% ticksep ticks xory alldata minval maxval axis base ticksandlimits ticks min max base
-% ticksandlimits: sort out value of x or y ticks and limits and log base
-/ticksandlimits
-{ /base exch def
- /minv false def
- /maxv false def
-
- % min and max of user-supplied minval, maxval, and axis
- minmax minmax minmax
-
- % min and max of data points
- { 0 get dup dup length 1 sub 3 index exch 2 exch
- { get minmax dup
- } for pop pop
- } forall
- pop dup
-
- % min and max of tick values
- { dup type /stringtype eq
- { pop } { minmax } ifelse
- } forall
-
- % fix minv and maxv if undefined (false) or equal
- minv false eq
- { /minv -1 def /maxv 1 def }
- { minv maxv eq
- { minv 0 lt
- { /minv 2 minv mul def /maxv 0 def
- }
- { minv 0 eq
- { /minv -1 def /maxv 1 def
- }
- { /minv 0 def /maxv 2 maxv mul def
- } ifelse
- } ifelse
- } if
- } ifelse
-
- % invent ticks if undefined
- ticksundef
- { pop /ticksep exch def
-
- % if base is reasonable and minv is positive, logarithmic ticks
- base 1 gt minv 0 gt and
- {
- % get integral log of minv and maxv
- /logminv base minv plog floor cvi def
- /logmaxv base maxv plog ceiling cvi def
-
- % if minv close to base, make it 1; reset minv and maxv
- logminv 1 eq logmaxv 4 ge and { /logminv 0 def } if
- /minv base logminv exp def
- /maxv base logmaxv exp def
-
- % ticks := [ base**logminv, ... , base**logmaxv ]
- [ logminv 1 logmaxv
- { dup base exch exp
- exch base exch loglgen
- } for
- ]
- }
- { % non-logarithmic ticks
- {
- % fix tick separation if undefined (0) or too small
- /base 0 def
- /delta maxv minv sub def
- ticksep delta 30 div le
- { /ticksep 10 delta log 1 sub ceiling exp def
- ticksep delta 2 div ge
- { /ticksep ticksep 2 div def }
- { ticksep delta 5 div lt
- { /ticksep 2 ticksep mul def
- } if
- } ifelse
- } if
-
- % adjust minv and maxv to be multiples of ticksep
- /minv minv ticksep div floor ticksep mul def
- /maxv maxv ticksep div ceiling ticksep mul def
- /delta maxv minv sub def
-
- % if minv or maxv near zero, move to zero and redo
- minv ticksep eq
- { /minv 0 def }
- { maxv ticksep neg eq { /maxv 0 def } { exit } ifelse
- } ifelse
- } loop
-
- % if minv, maxv, and ticksep are all integral, set "makeint" to true
- /makeint minv integral maxv integral ticksep integral and and def
-
- % ticks := [ minv, minv+ticksep, ... , maxv ]
- [ 0 1 delta ticksep div round
- { ticksep mul minv add makeint { cvi } if lgen }
- for
- ]
- } ifelse
- }
- { exch pop
- } ifelse
- minv maxv base
-} def
-
-% xset: set up all data for x axis, including limits and ticks
-% xticksep xticks 0 alldata xmin xmax xlog xextra xdecr xaxis xticklength xset -
-/xset
-{ /xticklength exch def
- /xaxis exch def
- /xdecr exch def
- /xextra exch def
- xaxis exch ticksandlimits
- /xlog exch def /xmax exch def /xmin exch def /xticks exch def
- /xleft xdecr { xmax } { xmin } ifelse def
- /xright xdecr { xmin } { xmax } ifelse def
- /xwidth xsize xextra 2 mul sub def
- /trxmin xmin xtr def /trxmax xmax xtr def
-} def
-
-% yset: set up all data for y axis, including limits and yticks
-% yticksep yticks 0 alldata ymin ymax ylog yextra ydecr yaxis yticklength yset -
-/yset
-{ /yticklength exch def
- /yaxis exch def
- /ydecr exch def
- /yextra exch def
- yaxis exch ticksandlimits
- /ylog exch def /ymax exch def /ymin exch def /yticks exch def
- /yleft ydecr { ymax } { ymin } ifelse def
- /yright ydecr { ymin } { ymax } ifelse def
- /ywidth ysize yextra 2 mul sub def
- /trymin ymin ytr def /trymax ymax ytr def
-} def
-
-% rset: set up all data for y axis (again), but including limits and rticks
-% rticksep rticks 0 alldata ymin ymax ylog yextra ydecr yaxis rticklength rset -
-/rset
-{ /rticklength exch def
- /yaxis exch def
- /ydecr exch def
- /yextra exch def
- yaxis exch ticksandlimits
- /ylog exch def /ymax exch def /ymin exch def /rticks exch def
- /yleft ydecr { ymax } { ymin } ifelse def
- /yright ydecr { ymin } { ymax } ifelse def
- /ywidth ysize yextra 2 mul sub def
- /trymin ymin ytr def /trymax ymax ytr def
-} def
-
-% norset: set up data for no rticks
-% - norset -
-/norset
-{ /rticklength 0 def
- /rticks [] def
-} def
-
-% framestyle: print a frame around the graph
-/framestyle
-{ 0 0 moveto xsize 0 lineto xsize ysize lineto
- 0 ysize lineto closepath stroke
- /printxtick /printxlabel xticks xleft printticks
- /printytick /printylabel yticks ymin printticks
- /printrtick /printrlabel rticks ymin printticks
-} def
-
-% nonestyle: print nothing around the graph
-/nonestyle
-{
-} def
-
-% axesstyle: print axes for the graph (unless axis values missing)
-/axesstyle
-{
- xaxis false eq yaxis false eq or
- { framestyle }
- { xaxis yaxis trpoint dup 0 exch moveto xsize exch lineto
- dup 0 moveto ysize lineto stroke
- /printxaxistick /printxaxislabel xticks xleft printticks
- /printyaxistick /printyaxislabel yticks ymin printticks
- } ifelse
-} def
-
-% rundata: run all data sets
-/rundata
-{ alldata
- { gsave
- dup dup dup dup
- 4 get /dopaint exch def
- 3 get /initrun exch def
- 2 get /pairs exch def
- 1 get /points exch def
- 0 get /data exch def
- dopaint
- { data length 4 ge
- { initrun
- newpath
- data 0 get ymin trpoint yextra sub moveto
- 0 2 data length 2 sub
- { dup 1 add
- data exch get /ycurr exch def
- data exch get /xcurr exch def
- xcurr ycurr trpoint lineto
- } for
- data dup length 2 sub get ymin trpoint yextra sub lineto
- closepath fill
- } if
- } if
- initrun
- data length 2 ge
- {
- /xcurr data 0 get def
- /ycurr data 1 get def
- points
- data length 4 ge
- { 2 2 data length 2 sub
- { /xprev xcurr def
- /yprev ycurr def
- dup dup 2 eq /firstpair exch def
- data length 2 sub eq /lastpair exch def
- dup 1 add
- data exch get /ycurr exch def
- data exch get /xcurr exch def
- pairs
- points
- } for
- } if
- } if
- grestore
- } forall
-} def
-
-end
-%%EndResource
-
-%%BeginResource: procset LoutBasicSetup
-% @PrependGraphic file /usr/staff/jeff/lout.lib/include/bsf.lpg
-
-% width height linethickness louteuro -
-% draw a Euro symbol of this width and height with this line thickness
-% Author: Jeff Kingston, based on code from Andrew Beardsley
-/louteuro {
- 20 dict begin
- /eurothick exch def
- /euroheight exch def
- /eurowidth exch def
- /eurostrokewidth euroheight 0.8 mul def
- /eurostep eurothick 60 cos mul 60 sin div def
- /eurotheta 40 def
-
- % llx lly width thickness louteurobox -
- % draw angled box starting at (llx, lly) with given width and thickness
- /louteurobox
- {
- /euroboxthick exch def
- /euroboxwidth exch def
- newpath moveto euroboxwidth 0 rlineto
- eurostep euroboxthick rlineto
- euroboxwidth neg 0 rlineto closepath fill
- } def
-
- % lower cross stroke
- 0 euroheight 2 div eurothick 1.5 mul sub
- eurostrokewidth eurothick louteurobox
-
- % upper cross stroke
- 0 euroheight 2 div eurothick 0.5 mul add
- eurostrokewidth eurostep 2 mul add eurothick louteurobox
-
- % circular part
- /eurohctr eurowidth euroheight 2 div eurotheta cos mul sub def
- /eurovctr euroheight 2 div def
- newpath
- eurohctr eurovctr eurovctr eurotheta 350 eurotheta sub arc
- eurohctr eurovctr eurovctr eurothick sub 365 eurotheta sub eurotheta arcn
- closepath fill
- end
-} def
-
-% path for @FullWidthRule symbol
-/LoutRule
-{ 0 0 moveto xsize 0 lineto
-} def
-
-% path for @Box symbol
-/LoutBox
-{ 0 0 moveto xsize 0 lineto
- xsize ysize lineto 0 ysize lineto
- closepath
-} def
-
-% path for @CurveBox symbol
-/LoutCurveBox
-{ xmark 0 moveto
- xsize xmark sub xmark xmark 270 360 arc
- xsize xmark sub ysize xmark sub xmark 0 90 arc
- xmark ysize xmark sub xmark 90 180 arc
- xmark xmark xmark 180 270 arc
- closepath
-} def
-
-% path for @ShadowBox symbol
-/LoutShadowBox
-{ xmark 2 mul 0 moveto xsize 0 lineto
- xsize ysize xmark 2 mul sub lineto
- xsize xmark sub ysize xmark 2 mul sub lineto
- xsize xmark sub xmark lineto
- xmark 2 mul xmark lineto
- closepath
-} def
-
-% set up dictionary containing margin note data: parity LoutMargSet -
-/LoutMargSet
-{ /LoutMargDict 12 dict def
- LoutMargDict begin
- /parity exch def
- /matr matrix currentmatrix def
- /rightx xsize def
- /lefty ysize def % highest allowable point for top of next left note
- /righty ysize def % highest allowable point for top of next right note
- /max { 2 copy gt { pop } { exch pop } ifelse } def
- /min { 2 copy lt { pop } { exch pop } ifelse } def
- end
-} def
-
-%translate coordinate system for marginal notes: type LoutMargShift -
-% where type 0 is left margin, 1 is right margin, 2 is outer, 3 is inner
-/LoutMargShift
-{ LoutMargDict begin
-
- % y coordinate of top of note, in margin coords, before vertical adjust
- 0 ysize transform matr itransform exch pop
-
- % decide whether left or right margin based on type and parity
- exch [ 0 1 parity 1 parity sub ] exch get 0 eq
- {
- % left margin: adjust top of note downwards if overlaps previous note
- lefty min
-
- % bottom of note is new lefty position and also translate position
- ysize sub dup /lefty exch def
-
- % want right edge of note at coordinate zero
- xsize neg exch
- }
- {
- % right margin: adjust top of note downwards if overlaps previous note
- righty min
-
- % bottom of note is new righty position and also translate position
- ysize sub dup /righty exch def
-
- % want left edge of note at coordinate rightx
- rightx exch
- } ifelse
-
- % stack now contains coord of bottom left corner in margin coordinates
- matr setmatrix translate
- end
-} def
-
-% create LoutPageDict with left, right, foot, top for @Place symbol users
-/LoutPageSet
-{
- /LoutPageDict 5 dict def
- LoutPageDict begin
- /matr matrix currentmatrix def
- /left 0 def
- /right xsize def
- /foot 0 def
- /top ysize def
- end
-
-} def
-
-%%EndResource
-
-%%EndProlog
-
-%%BeginSetup
-%%IncludeResource: font Times-Roman
-/Times-Romanfnt82 vec2 /Times-Roman LoutRecode
-/fnt82 { /Times-Romanfnt82 LoutFont } def
-%%IncludeResource: font Helvetica
-/Helveticafnt35 vec2 /Helvetica LoutRecode
-/fnt35 { /Helveticafnt35 LoutFont } def
-%%IncludeResource: font Helvetica-Oblique
-/Helvetica-Obliquefnt36 vec2 /Helvetica-Oblique LoutRecode
-/fnt36 { /Helvetica-Obliquefnt36 LoutFont } def
-%%EndSetup
-
-%%Page: 1 1
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Helvetica
-%%+ font Helvetica-Oblique
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 9002(1)s 600 fnt35 691 11623(A)m
-1250(Pr)s 6(actical)k 3667(Introduction)s 6922(to)s 7566(the)s
-3956 10183(Lout)m 616 8743(Document)m 3500(F)s 18(or)k -15(matting)k
-6490(System)s 400 fnt35 2882 6881(Jeffre)m 8(y)k 4180(H.)s
-4656(Kingston)s 400 fnt36 1395 5779(Basser)m 2794(Dept.)s 3834(of)s
-4333(Computer)s 6242(Science)s 2251 5299(The)m 3058(Univ)s 10(ersity)k
-4951(of)s 5450(Sydne)s 8(y)k
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 2 2
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8990(2)s 400 fnt84 2988 11377(A)m
-3363(simple)s 4565(input)s 5575(\207le)s 360 fnt35 800 9646(@SysInclude { doc })m
-800 9166(@Doc @T)m 43(e)k 10(xt @Begin)k 800 8686(Hello)m 14(, w)k 3(or)k -5(ld)k
-800 8206(@End @T)m 43(e)k 10(xt)k 400 fnt84 0 6379(Ho)m 4(w)k
-889(to)s 1313(f)s 10(ormat)k 2579(it)s 360 fnt35
-800 5633(lout \207lename > out.ps)m 800 5153(ghostvie)m 7(w out.ps)k 800 4673(mpr out.ps)m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 3 3
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8997(3)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1440 8367(Hello,)m 2505(w)s 4(orld)k
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 4 4
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8990(4)s 400 fnt84 2339 11377(Headings)m
-4026(and)s 4762(paragraphs)s 360 fnt35 800 9646(@SysInclude { doc })m 800 9166(@Doc @T)m 43(e)k 10(xt @Begin)k
-800 8686(@Heading { Introduction })m 800 8206(@PP)m 800 7726(The design of the Lout f)m 10(or)k -9(matting)k
-800 7246(system w)m 5(as under)k -14(tak)k 7(en with the)k 800 6766(needs of the @I { ordinar)m -10(y user })k
-800 6286(v)m 9(er)k -10(y m)k 3(uch in mind.)k 800 5806(@End @T)m 43(e)k 10(xt)k
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 5 5
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12478(lout)m 8995(5)s gsave
-0 666 translate
-400 fnt82 8640 10080 1440 8456 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-400 fnt84 1440 8364(Intr)m 7(oduction)k
-400 fnt82 2240 7742(The)m 2953(design)s 4090(of)s 4543(the)s
-5123(Lout)s 1440 7262(formatting)m 3215(system)s 4423(w)s 4(as)k
-5123(undertak)s 4(en)k 1440 6782(with)m 2245(the)s 2825(needs)s
-3818(of)s 4271(the)s 400 fnt83 4851 6784(or)m 14(dinary)k
-6328(user)s 400 fnt82 1440 6302(v)m 6(ery)k 2234(much)s
-3217(in)s 3622(mind.)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 6 6
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8991(6)s 400 fnt84 3817 11376(Displays)m
-360 fnt35 800 9652(Y)m 50(ou cer)k -14(tainly don't w)k 5(ant to retur)k -9(n to)k
-800 9172(his of\207ce and repor)m -14(t:)k 800 8692(@IndentedDispla)m 10(y @I {)k 800 8212(`I can't \207nd an ef\207cient algor)m -5(ithm, I)k
-800 7732(guess I'm just too dumb)m 14(.)k 36(')k 800 7252(})m 800 6772(T)m 43(o a)k 7(v)k 9(oid ser)k -5(ious damage to y)k 7(our)k
-800 6292(position in the compan)m 5(y)k 36(, it w)k 3(ould)k 800 5812(be better if ...)m
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 7 7
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8994(7)s gsave
-0 668 translate
-400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1440 8367(Y)m 44(ou)k
-2173(certainly)s 3657(don')s 7(t)k 4591(w)s 4(ant)k
-5460(to)s 5856(return)s 6901(to)s 1440 7887(his)m 1990(of\207ce)s
-2991(and)s 3665(report:)s 400 fnt83 2240 7048(`I)m 2626(can')s 12(t)k
-3542(\207nd)s 4252(an)s 4742(ef\207cient)s 2240 6568(algorithm,)m 3970(I)s
-4223(guess)s 5201(I'm)s 5848(just)s 6532(too)s 2240 6088(dumb)m 16(.)k 56(')k
-400 fnt82 1440 5330(T)m 32(o)k 1940(a)s 8(v)k 8(oid)k
-2909(serious)s 4124(damage)s 5458(to)s 5857(your)s 1440 4850(position)m
-2822(in)s 3227(the)s 3807(compan)s 6(y)k 26(,)k
-5418(it)s 5740(w)s 4(ould)k 6831(be)s 1440 4370(better)m
-2449(if)s 2813(\202)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 8 8
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8994(8)s 400 fnt84 2299 11376(P)m 4(aragraph)k
-4229(br)s 7(eaking)k 5847(styles)s 360 fnt35 800 9652(Y)m 50(ou cer)k -14(tainly don't w)k 5(ant to retur)k -9(n to)k
-800 9172(his of\207ce and repor)m -14(t:)k 800 8692(@ID { r)m 3(agged noh)k 10(yphen } @Break @I {)k
-800 8212(`I can't \207nd an ef\207cient algor)m -5(ithm, I)k 800 7732(guess I'm just too dumb)m 14(.)k 36(')k
-800 7252(})m 800 6772(T)m 43(o a)k 7(v)k 9(oid ser)k -5(ious damage to y)k 7(our)k
-800 6292(position in the compan)m 5(y)k 36(, it w)k 3(ould)k 800 5812(be better if ...)m
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 9 9
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8992(9)s gsave
-0 666 translate
-400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1440 8367(Y)m 44(ou)k
-2173(certainly)s 3657(don')s 7(t)k 4591(w)s 4(ant)k
-5460(to)s 5856(return)s 6901(to)s 1440 7887(his)m 1990(of\207ce)s
-2991(and)s 3665(report:)s 400 fnt83 2240 7048(`I)m 2626(can')s 12(t)k
-3542(\207nd)s 4252(an)s 4742(ef\207cient)s 2240 6568(algorithm,)m 3970(I)s
-4223(guess)s 5201(I'm)s 5848(just)s 6532(too)s 2240 6088(dumb)m 16(.)k 56(')k
-400 fnt82 1440 5330(T)m 32(o)k 1940(a)s 8(v)k 8(oid)k
-2909(serious)s 4124(damage)s 5458(to)s 5857(your)s 1440 4850(position)m
-2822(in)s 3227(the)s 3807(compan)s 6(y)k 26(,)k
-5418(it)s 5740(w)s 4(ould)k 6831(be)s 1440 4370(better)m
-2449(if)s 2813(\202)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 10 10
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8909(10)s 400 fnt84 4128 11376(Lists)m
-360 fnt35 800 9722(@Heading { Oper)m 3(ating Instr)k -5(uctions })k 800 9242(@NumberedList)m
-800 8762(@ListItem { Press small g)m 3(reen le)k 10(v)k 9(er)k 18(.)k 21( })k
-800 8282(@ListItem { )m 14(W)k 14(ait appro)k 10(ximately 10 seconds)k 800 7802(until red light \210ashes)m 5(.)k 21( })k
-800 7322(@ListItem { If smok)m 7(e emerges from rear of unit,)k 800 6842(call Ser)m -10(vice Depar)k -14(tment.)k 21( })k
-800 6362(@EndList)m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 11 11
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8922(11)s gsave
-0 668 translate
-400 fnt82 8640 10080 1440 8456 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-400 fnt84 1440 8364(Operating)m
-3287(Instructions)s 400 fnt82 1440 7529(1.)m 2240(Press)s 3166(small)s
-4123(green)s 5104(le)s 10(v)k 6(er)k 22(.)k
-1440 6689(2.)m 2240(W)s 32(ait)k 3077(approximately)s 5468(10)s
-5952(seconds)s 2240 6209(until)m 3065(red)s 3672(light)s 4505(\210ashes.)s
-1440 5369(3.)m 2240(If)s 2626(smok)s 4(e)k 3757(emer)s 7(ges)k
-5164(from)s 6040(rear)s 6760(of)s 2240 4889(unit,)m 3040(call)s
-3708(Service)s 4997(Department.)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 12 12
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(12)s 400 fnt84 3062 11377(T)m 36(echnical)k
-4780(r)s 7(eports)k 360 fnt35 800 9646(@SysInclude { repor)m -14(t })k
-800 9166(@Repor)m -14(t)k 800 8686( @Title { ...)m 21( })k 800 8206( @A)m 10(uthor { ...)k 21( })k
-800 7726( @Institution { ...)m 21( })k 800 7246( @DateLine { ...)m 21( })k 800 6766(//)m
-800 6286(@Abstr)m 3(act { ...)k 21( })k 800 5806(@Section { ...)m 21( })k
-800 5326(@Section { ...)m 21( })k 800 4846(@Section { ...)m 21( })k 800 4366(@Appendix { ...)m 21( })k
-800 3886(@Appendix { ...)m 21( })k
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 13 13
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8917(13)s 400 fnt84 3840 11376(Sections)m
-360 fnt35 800 9720(@Section)m 800 9240( @T)m 43(ag { dfs })k 800 8760( @Title { Depth-\207rst search })m
-800 8280(@Begin)m 800 7800(@PP)m 800 7320(W)m 10(e tur)k -9(n no)k 5(w to our \207rst algor)k -5(ithm)k
-800 6840(on gener)m 3(al g)k 3(r)k 3(aphs ...)k 800 6360(@End @Section)m
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 14 14
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(14)s gsave
-0 668 translate
-400 fnt82 8640 10080 1440 8456 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-400 fnt84 1440 8364(10.6.)m
-2424(Depth-\207rst)s 4386(sear)s 7(ch)k 400 fnt82 2240 7742(W)m 32(e)k
-2854(turn)s 3592(no)s 10(w)k 4359(to)s 4758(our)s
-5391(\207rst)s 1440 7262(algorithm)m 3093(on)s 3587(general)s 4854(graphs)s
-6003(\202)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 15 15
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12478(lout)m 8915(15)s 400 fnt84 3142 11375(Cr)m 7(oss)k
-4199(r)s 7(efer)k 7(ences)k 360 fnt35 800 9722(F)m 10(or fur)k -14(ther inf)k 10(or)k -9(mation, consult)k
-800 9242(Section @NumberOf dfs on page)m 800 8762(@P)m 14(ageOf { dfs }.)k
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 16 16
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8911(16)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1440 8367(F)m 6(or)k
-2089(further)s 3276(information,)s 5341(consult)s 1440 7887(Section)m 2732(10.6)s
-3520(on)s 4014(page)s 4860(245.)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 17 17
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8914(17)s 400 fnt84 3612 11377(Refer)m 7(ences)k
-360 fnt35 800 9723(@Database @Ref)m 10(erence { m)k 5(yrefs })k 800 9243(...)m
-800 8763(F)m 10(or the details)k 5(, consult the User')k 18(s)k 800 8283(Guide @Cite { $kingston1995lout.user }.)m
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 18 18
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8914(18)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1440 8367(F)m 6(or)k
-2089(the)s 2669(details,)s 3889(consult)s 5143(the)s 5723(User')s 22(s)k
-1440 7887(Guide)m 2508([1].)s 1440 7263(\202)m 400 fnt84 1440 6637(Refer)m 7(ences)k
-400 fnt82 1440 5879(1.)m 2240(Jef)s 10(fre)k 6(y)k
-3422(H.)s 3883(Kingston.)s 400 fnt83 5621 5881(A)m 5947(User')s 16(s)k
-2240 5401(Guide)m 3304(to)s 3703(the)s 4279(Lout)s 5119(Document)s
-2240 4921(F)m 42(ormatting)k 4107(System)s 5308(\(V)s 44(er)k 4(sion)k
-2240 4441(3\))m 400 fnt82 2556 4439(.)m 2829(Basser)s 3992(Department)s
-5977(of)s 2240 3959(Computer)m 3938(Science)s 5171(,)s 5349(Uni)s 10(v)k 6(ersity)k
-2240 3479(of)m 2693(Sydne)s 6(y)k 3876(,)s 4054(1995)s
-4830(.)s 1440 2642(2.)m 2240(\202)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 19 19
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8912(19)s 400 fnt84 2601 11375(Database)m
-4269(\207le)s 4872(myr)s 7(efs.ld)k 360 fnt35 800 9644({ @Ref)m 10(erence)k
-800 9164( @T)m 43(ag { kingston1995lout.user })k 800 8684( @T)m 43(ype { Book })k 800 8204( @A)m 10(uthor { Jeffre)k 7(y H.)k 21( Kingston })k
-800 7724( @Title { A User')m 18(s Guide to the Lout)k 800 7244(Document F)m 10(or)k -9(matting System \(V)k 28(ersion 3\) })k
-800 6764( @Institution { Basser Depar)m -14(tment of)k 800 6284(Computer Science })m 800 5804( @Address { Univ)m 9(ersity of Sydne)k 7(y)k
-800 5324(2006, A)m 10(ustr)k 3(alia })k 800 4844( @Y)m 50(ear { 1994 })k
-800 4364(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 20 20
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8909(20)s 400 fnt84 2965 11375(Books)m
-4097(\(and)s 4966(theses\))s 400 fnt82 0 9650(\213)m 800(T)s 14(itle)k
-1632(page,)s 2564(pref)s 4(ace,)k 3912(introduction)s 0 8810(\213)m
-800(Automatic)s 2574(table)s 3442(of)s 3895(contents)s 0 8053(\213)m
-800(Pref)s 4(atory)k 2372(pages)s 3365(numbered)s 5060(in)s
-5465(Roman)s 6713(numerals)s 0 7213(\213)m 800(Chapters,)s 2397(sections,)s
-3861(subsections,)s 5880(appendices)s 0 6374(\213)m 800(References)s 2656(at)s
-3044(end)s 3718(of)s 4171(chapters)s 5585(or)s 6018(book)s
-0 5535(\213)m 800(Running)s 2265(page)s 3111(headers)s 0 4695(\213)m
-800(Odd-e)s 10(v)k 6(en)k 2453(page)s 3299(formats)s
-0 3855(\213)m 800(Sorted)s 1940(inde)s 6(x)k
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 21 21
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8922(21)s 400 fnt84 2631 11377(Making)m
-4057(a)s 4353(sorted)s 5509(index)s 360 fnt35 800 9646(@PP)m
-800 9166(There are se)m 10(v)k 9(er)k 3(al possib)k 7(le w)k 5(a)k 10(ys to implement the)k
-800 8686(@I P)m 14(ar)k -14(tition procedure)k 5(,)k 800 8206(par)m -14(tition @Inde)k 10(x { @I P)k 14(ar)k -14(tition \(in {@I Quic)k 7(ksor)k -14(t}\) })k
-800 7726(b)m 7(ut the f)k 10(ollo)k 5(wing seems to be the best.)k 21( Star)k -14(ting ...)k
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 22 22
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(22)s gsave
-0 668 translate
-400 fnt82 8640 10080 1440 8462 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-400 fnt84 1440 8370(Index)m
-400 fnt82 1440 7795(\202)m 1440 7315(partial)m 2552(order)s 16(,)k
-3557(227)s 400 fnt83 1440 6837(P)m 32(artition)k 400 fnt82
-2941 6835(\(in)m 400 fnt83 3479 6837(Quic)m 8(ksort)k 400 fnt82
-5052 6835(\),)m 5363(189)s 1440 6355(postorder)m 3049(tra)s 8(v)k 6(ersal)k
-1840 5875(of)m 2293(binary)s 3404(tree,)s 4180(19)s 1840 5395(topological)m
-3730(ordering,)s 5262(229)s 1440 4915(\202)m
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 23 23
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8917(23)s 400 fnt84 2785 11376(Equation)m
-4455(f)s 10(ormatting)k 360 fnt35 800 9645(@SysInclude { eq })m 800 9165(...)m
-800 8685(Since @Eq { )m 18(T\(n-i\) = )k 18(T\(0\) = 0 } w)k 3(e ha)k 7(v)k 9(e)k
-800 8205(@IndentedDispla)m 10(y @Eq {)k 800 7725(T\(n\) = big sum from i=0 to n-1 2 sup i = 2 sup n - 1)m 800 7245(})m 800 6765(f)m 10(or the n)k 3(umber of disk mo)k 5(v)k 9(es made b)k 7(y the )k 18(T)k 43(o)k 5(w)k 3(ers)k
-800 6285(of Hanoi algor)m -5(ithm, giv)k 9(en @Eq { n } disks)k 5(.)k
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 24 24
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Italic
-%%+ font Symbol
-/pgsave save def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-%%IncludeResource: font Symbol
-/fnt78 { /Symbol LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(24)s gsave
-0 668 translate
-400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1440 8367(Since)m 400 fnt83
-2419 8369(T)m 400 fnt78 2691 8357(\()m 400 fnt83 2831 8369(n)m
-400 fnt78 3141 8357(-)m 400 fnt83 3475 8369(i)m 400 fnt78
-3601 8357(\))m 3852(=)s 400 fnt83 4207 8369(T)m 400 fnt78
-4479 8357(\()m 4619(0)s 4828(\))s 5079(=)s 5434(0)s
-400 fnt82 5723 8367(we)m 6280(ha)s 8(v)k 6(e)k
-400 fnt83 2240 7204(T)m 400 fnt78 2512 7192(\()m 400 fnt83
-2652 7204(n)m 400 fnt78 2862 7192(\))m 3113(=)s 280 fnt83
-3468 7622(n)m 280 fnt78 3640 7613(-)m 3829(1)s 520 fnt78
-3522 7162(\345)m 280 fnt83 3483 6864(i)m 280 fnt78 3599 6855(=)m
-3791(0)s 280 fnt83 4149 7367(i)m 400 fnt78 3959 7192(2)m
-4363(=)s 280 fnt83 4908 7400(n)m 400 fnt78 4718 7192(2)m
-5161(-)s 5495(1)s 400 fnt82 1440 6098(for)m 2006(the)s
-2586(number)s 3907(of)s 4360(disk)s 5128(mo)s 6(v)k 6(es)k
-6243(made)s 1440 5618(by)m 1930(the)s 2510(T)s 32(o)k 10(wers)k
-3749(of)s 4202(Hanoi)s 5268(algorithm,)s 1440 5138(gi)m 10(v)k 6(en)k
-400 fnt83 2406 5140(n)m 400 fnt82 2696 5138(disks.)m
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 25 25
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12478(lout)m 8915(25)s 400 fnt84 3035 11375(Another)m
-4550(equation)s 360 fnt35 800 9644(@CenteredDispla)m 10(y @Eq {)k 800 9164(big int supp 1 on 0 )m 21(`)k
-800 8684(dx o)m 5(v)k 9(er sqr)k -14(t { 1 - x sup 2 })k 800 8204(= pi o)m 5(v)k 9(er 2)k
-800 7724(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 26 26
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Symbol
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Symbol
-/fnt78 { /Symbol LoutFont } def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8911(26)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-676 fnt78 3159 7423(\362)m
-280 fnt78 3355 7972(1)m 3355 7281(0)m 400 fnt83 3991 7782(dx)m
-1187 0 0 0 400 480 20 3587 7697 LoutGr2
-0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke
-grestore
-
-grestore
-gsave
-0 7292 translate
-1.0000 1.2231 scale
-400 fnt78 3587 -100(\326)m
-grestore
-981 0 0 0 400 480 20 3793 7617 LoutGr2
-0 0 moveto xsize 0 lineto 0.03 ft setlinewidth 2 setlinecap stroke
-grestore
-
-grestore
-400 fnt78 3853 7251(1)m 4129(-)s
-280 fnt78 4641 7365(2)m 400 fnt83 4463 7263(x)m 400 fnt78
-4914 7597(=)m 5269 7784(p)m gsave
-5269 7697 translate
-400 fnt83 212 0 0 0 400 480 20 LoutGraphic
-gsave
-0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke
-grestore
-
-grestore
-5280 7317(2)m
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 27 27
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8914(27)s 400 fnt84 3991 11383(T)m 36(ables)k
-360 fnt35 800 9729(@SysInclude { tab })m 800 9249(...)m 800 8769(@T)m 43(ab)k
-800 8289( @Fmta { @Col @I A ! @Col B })m 800 7809({)m 800 7329(@Ro)m 5(w)k 5(a)k
-800 6849( A { F)m 10(or)k -14(tr)k 3(an })k 800 6369( B { )m 18(The \207rst ...)k 21( language })k
-800 5889(@Ro)m 5(w)k 5(a)k 800 5409( A { Algol-60 })m 800 4929( B { Said to be ...)m 21( successors })k
-800 4449(@Ro)m 5(w)k 5(a)k 800 3969( A { P)m 14(ascal })k
-800 3489( B { )m 18(The f)k 10(amous ...)k 21( successors })k 800 3009(})m
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 28 28
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8914(28)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-400 fnt83 1440 8177(F)m 42(ortr)k 6(an)k
-400 fnt82 3178 8175(The)m 3891(\207rst)s 4612(high-le)s 10(v)k 6(el)k
-3178 7695(programming)m 5442(language)s 400 fnt83 1440 6950(Algol-60)m 400 fnt82
-3178 6948(Said)m 3985(to)s 4384(be)s 4853(a)s 5130(better)s
-3178 6468(language)m 4712(than)s 5494(most)s 6371(of)s 6824(its)s
-3178 5988(successors)m 400 fnt83 1440 5327(P)m 32(ascal)k 400 fnt82
-3178 5325(The)m 3891(most)s 4768(f)s 4(amous)k 6024(of)s
-3178 4845(Algol-60')m 22(s)k 4971(successors)s
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 29 29
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8912(29)s 400 fnt84 3357 11375(Another)m
-4872(table)s 360 fnt35 800 10201(@T)m 43(ab)k 800 9721( hmargin { 0.4c })m
-800 9241( vmargin { 0.3v })m 800 8761( side { single })m 800 8281( @Fmta { @Col @B @CC X @Ov)m 9(er A,B)k 7(,C })k
-800 7801( @Fmtb { @Col @I A ! @Col B !! @Col C })m 800 7321({)m 800 6361(@Ro)m 5(w)k 5(a abo)k 5(v)k 9(e { single })k
-800 5881( X { )m 18(V)k 25(alue of mathematical ...)k 21( dollars\) })k 800 4921(@Ro)m 5(wb abo)k 5(v)k 9(e { doub)k 7(le })k
-800 4441( A { Quadr)m 3(atic f)k 10(or)k -9(m)k 3(ula })k
-800 3961( B { @Eq { x ^= { ...)m 21( } o)k 5(v)k 9(er 2a } })k 800 3481( C { 3^.5 })m
-800 2521(@Ro)m 5(wb belo)k 5(w { single })k 800 2041( A { Binomial theorem })m 800 1561( B { @Eq { \( a + b \) sup n ^= ...)m 21( b sup n-k } })k
-800 1081( C { 12^ })m 800 601(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 30 30
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%+ font Symbol
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-%%IncludeResource: font Symbol
-/fnt78 { /Symbol LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8909(30)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-gsave
-1440 8640 translate
-0.5938 0.5938 scale
-0 144 0 144 400 480 100 0 -144 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-226 0 0 0 400 480 100 0 0 LoutGr2
-0.5 pt ltabhsp
-grestore
-
-grestore
-0 344 0 159 400 480 100 0 -488 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-0 144 0 0 400 480 100 0 -632 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-8889 0 0 0 400 480 100 226 0 LoutGr2
-0.5 pt ltabhs
-grestore
-
-grestore
-400 fnt84 226 -421(V)m 36(alue)k
-1281(of)s 1736(mathematical)s 4157(f)s 10(ormulae)k 5793(\(millions)s
-7369(of)s 7824(dollars\))s gsave
-9115 0 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhsp
-grestore
-
-grestore
-gsave
-9341 -144 translate
-400 fnt82 360 144 0 144 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-9341 -488 translate
-400 fnt82 360 344 0 159 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-9341 -632 translate
-400 fnt82 360 144 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-0 -776 translate
-400 fnt82 0 144 0 144 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-0 -632 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-gsave
-0 -1867 translate
-400 fnt82 0 1091 0 480 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-0 -2011 translate
-400 fnt82 0 144 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-226 -632 translate
-400 fnt82 2985 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-400 fnt83 226 -1475(Quadr)m 6(atic)k
-1955(formula)s gsave
-3211 -632 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-gsave
-3437 -632 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-gsave
-3663 -632 translate
-400 fnt82 4255 0 1260 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-4725(x)s 400 fnt78 5063 -1487(=)m 5418 -1207(-)m
-400 fnt83 5652 -1195(b)m 400 fnt78 5962 -1207(\261)m gsave
-0 -1146 translate
-1.0000 1.3937 scale
-6297 -100(\326)m
-
-grestore
-gsave
-6503 -776 translate
-400 fnt83 1415 0 0 0 400 480 20 LoutGraphic
-gsave
-0 0 moveto xsize 0 lineto 0.03 ft setlinewidth 2 setlinecap stroke
-grestore
-
-grestore
-280 fnt78 6753 -1028(2)m 400 fnt83 6563 -1195(b)m 400 fnt78
-7006 -1207(-)m 7340(4)s 400 fnt83 7548 -1195(ac)m 2500 0 0 0 400 480 20 5418 -1387 LoutGr2
-0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke
-grestore
-
-grestore
-400 fnt78
-6467 -1767(2)m 400 fnt83 6677 -1755(a)m gsave
-7918 -632 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-gsave
-8144 -776 translate
-400 fnt82 0 144 0 144 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-8144 -632 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-gsave
-8144 -1867 translate
-400 fnt82 0 1091 0 480 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-8144 -2011 translate
-400 fnt82 0 144 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-8370 -632 translate
-400 fnt82 745 0 390 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhd
-grestore
-
-grestore
-400 fnt82 8587 -1477(3)m
-8760(.5)s 226 0 0 0 400 480 100 9115 -632 LoutGr2
-0.5 pt ltabhd
-grestore
-
-grestore
-360 144 0 144 400 480 100 9341 -776 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-360 1091 0 480 400 480 100 9341 -1867 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-360 144 0 0 400 480 100 9341 -2011 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-0 144 0 144 400 480 100 0 -2155 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-0 863 0 449 400 480 100 0 -3018 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-0 144 0 0 400 480 100 0 -3162 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-226 0 0 0 400 480 100 0 -3162 LoutGr2
-0.5 pt ltabhsp
-grestore
-
-grestore
-400 fnt83 226 -2657(Binomial)m 1791(theor)s 14(em)k
-gsave
-226 -3162 translate
-400 fnt82 2985 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhs
-grestore
-
-grestore
-gsave
-3211 -3162 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhs
-grestore
-
-grestore
-gsave
-3437 -3162 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhs
-grestore
-
-grestore
-400 fnt78 3663 -2669(\()m 400 fnt83 3803 -2657(a)m 400 fnt78
-4114 -2669(+)m 400 fnt83 4449 -2657(b)m 280 fnt83 4770 -2463(n)m
-400 fnt78 4659 -2669(\))m 5063(=)s 336 fnt78 5549 -2290(\245)m
-520 fnt78 5484 -2699(\345)m 280 fnt83 5418 -3005(k)m 280 fnt78
-5588 -3014(=)m 5780(0)s gsave
-0 -2560 translate
-1.0000 2.3652 scale
-400 fnt78 5932 -100(\()m
-grestore
-400 fnt83
-6112 -2417(n)m 6115 -2893(k)m gsave
-0 -2560 translate
-1.0000 2.3652 scale
-400 fnt78 6362 -100(\))m
-grestore
-280 fnt83
-6684 -2501(k)m 400 fnt83 6493 -2657(a)m 280 fnt83 7022 -2488(n)m
-280 fnt78 7194 -2497(-)m 280 fnt83 7383 -2488(k)m 400 fnt83
-6832 -2657(b)m gsave
-3663 -3162 translate
-400 fnt82 4255 0 1260 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhs
-grestore
-
-grestore
-gsave
-7918 -3162 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhs
-grestore
-
-grestore
-gsave
-8144 -2155 translate
-400 fnt82 0 144 0 144 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-8144 -3018 translate
-400 fnt82 0 863 0 449 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-8144 -3162 translate
-400 fnt82 0 144 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabvs
-grestore
-
-grestore
-gsave
-8144 -3162 translate
-400 fnt82 226 0 0 0 400 480 100 LoutGraphic
-gsave
-0.5 pt ltabhs
-grestore
-
-grestore
-400 fnt82 8370 -2659(12)m 745 0 390 0 400 480 100 8370 -3162 LoutGr2
-0.5 pt ltabhs
-grestore
-
-grestore
-226 0 0 0 400 480 100 9115 -3162 LoutGr2
-0.5 pt ltabhsp
-grestore
-
-grestore
-360 144 0 144 400 480 100 9341 -2155 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-360 863 0 449 400 480 100 9341 -3018 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-360 144 0 0 400 480 100 9341 -3162 LoutGr2
-0.5 pt ltabvs
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 31 31
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8922(31)s 400 fnt84 3123 11382(P)m 4(ascal)k
-4297(pr)s 7(ograms)k 360 fnt35 800 9651(@SysInclude { pas })m 800 9171(...)m
-800 8691(@ID @P)m 14(as {)k 800 8211(procedure DoPr)m -5(iAbstr)k 3(act\(root:)k 18( Pr)k -5(iEntr)k -10(y\);)k
-800 7731(begin)m 800 7251( if root^.leftchild <> nil then begin)m 800 6771( DoPr)m -5(iAbstr)k 3(act\(root^.leftchild\);)k
-800 6291( wr)m -5(ite\(', '\);)k 800 5811( end;)m 800 5331( Pr)m -5(iK)k 14(e)k 7(yAbstr)k 3(act\(root^.k)k 7(e)k 7(y\);)k
-800 4851( wr)m -5(ite\(':'\);)k 800 4371( Pr)m -5(iV)k 25(alueAbstr)k 3(act\(root^.v)k 9(alue\);)k
-800 3891( if root^.r)m -5(ightchild <> nil then begin)k 800 3411( wr)m -5(ite\(', '\);)k 800 2931( DoPr)m -5(iAbstr)k 3(act\(root^.r)k -5(ightchild\);)k
-800 2451( end;)m 800 1971(end;)m 800 1491(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 32 32
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%+ font Symbol
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-%%IncludeResource: font Symbol
-/fnt78 { /Symbol LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(32)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8455 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-400 fnt84 1440 8363(pr)m 7(ocedur)k 7(e)k
-400 fnt83 3270 8367(DoPriAbstr)m 6(act)k 400 fnt82 5622 8365(\()m
-400 fnt83 5744 8367(r)m 18(oot)k 400 fnt82 6399 8365(:)m
-400 fnt83 6576 8367(PriEntry)m 400 fnt82 7966 8365(\);)m 400 fnt84
-1440 7883(begin)m 1840 7403(if)m 400 fnt83 2206 7407(r)m 18(oot)k
-320 fnt78 2861 7415(\255)m 400 fnt82 3043 7405(.)m 400 fnt83
-3116 7407(leftc)m 6(hild)k 400 fnt78 4529 7395(\271)m 400 fnt84
-4845 7403(nil)m 5380(then)s 6228(begin)s 400 fnt83 2240 6927(DoPriAbstr)m 6(act)k
-400 fnt82 4592 6925(\()m 400 fnt83 4714 6927(r)m 18(oot)k
-320 fnt78 5369 6935(\255)m 400 fnt82 5551 6925(.)m 400 fnt83
-5624 6927(leftc)m 6(hild)k 400 fnt82 6937 6925(\);)m 400 fnt83
-2240 6447(write)m 400 fnt82 3048 6445(\(',)m 3492('\);)s 400 fnt84
-1840 5963(end)m 400 fnt82 2453 5965(;)m 400 fnt83 1840 5487(PriK)m 14(e)k 12(yAbstr)k 6(act)k
-400 fnt82 4298 5485(\()m 400 fnt83 4420 5487(r)m 18(oot)k
-320 fnt78 5075 5495(\255)m 400 fnt82 5257 5485(.)m 400 fnt83
-5330 5487(k)m 4(e)k 12(y)k 400 fnt82 5838 5485(\);)m
-400 fnt83 1840 5007(write)m 400 fnt82 2648 5005(\(':'\);)m 400 fnt83
-1840 4527(PriV)m 44(alueAbstr)k 6(act)k 400 fnt82 4592 4525(\()m
-400 fnt83 4714 4527(r)m 18(oot)k 320 fnt78 5369 4535(\255)m
-400 fnt82 5551 4525(.)m 400 fnt83 5624 4527(value)m 400 fnt82
-6477 4525(\);)m 400 fnt84 1840 4043(if)m 400 fnt83 2206 4047(r)m 18(oot)k
-320 fnt78 2861 4055(\255)m 400 fnt82 3043 4045(.)m 400 fnt83
-3116 4047(rightc)m 6(hild)k 400 fnt78 4796 4035(\271)m 400 fnt84
-5112 4043(nil)m 5647(then)s 6495(begin)s 400 fnt83 2240 3567(write)m
-400 fnt82 3048 3565(\(',)m 3492('\);)s 400 fnt83 2240 3087(DoPriAbstr)m 6(act)k
-400 fnt82 4592 3085(\()m 400 fnt83 4714 3087(r)m 18(oot)k
-320 fnt78 5369 3095(\255)m 400 fnt82 5551 3085(.)m 400 fnt83
-5624 3087(rightc)m 6(hild)k 400 fnt82 7204 3085(\);)m 400 fnt84
-1840 2603(end)m 400 fnt82 2453 2605(;)m 400 fnt84 1440 2123(end)m
-400 fnt82 2053 2125(;)m
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 33 33
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8917(33)s 400 fnt84 3304 11376(Basic)m
-4308(graphics)s 360 fnt35 800 9645(45d @Rotate 1.5 @Scale @Bo)m 10(x {)k 800 9165( Hello)m 14(, w)k 3(or)k -5(ld)k
-800 8685(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 34 34
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Helvetica
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(34)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-gsave
-2528 5722 translate
-45.0000 rotate
-gsave
-0 0 translate
-1.5000 1.5000 scale
-gsave
-0 -254 translate
-360 fnt35 2027 526 108 254 360 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-108 161(Hello)m 14(,)k
-1080(w)s 3(or)k -5(ld)k
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 35 35
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12478(lout)m 8915(35)s 400 fnt84 2908 11375(Adv)m 4(anced)k
-4704(graphics)s 360 fnt35 800 9644(@SysInclude { \207g })m 800 9164(...)m 800 8684(@Fig {)m
-800 8204(@Bo)m 10(x)k 800 7724( margin { 0c })m 800 7244( paint { b)m 7(lac)k 7(k })k
-800 6764(@Ellipse)m 800 6284( linestyle { noline })m 800 5804( paint { white })m 800 5324({ Hello)m 14(, w)k 3(or)k -5(ld })k
-800 4844(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 36 36
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8911(36)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8231 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-5760 781 226 372 400 480 100 1440 7859 LoutGr2
-grestore save gsave 200 dict begin lfigdict begin
-grestore
-2442 781 226 372 400 480 100 0 0 LoutGr2
-/lfigblack [ lfigbox ] gsave lfigpaintpath grestore
-0.5 pt setlinewidth lfiground setlinecap
-0.15 cm /lfigsolid [ lfigbox ] lfigdopath
-pop pop
-grestore
-2442 781 226 372 400 480 100 0 0 LoutGr2
-/lfigwhite [ lfigellipse ] gsave lfigpaintpath grestore
-0.5 pt setlinewidth lfiground setlinecap
-0.15 cm /lfignoline [ lfigellipse ] lfigdopath
-pop pop
-grestore
-226 282(Hello,)m 1291(w)s 4(orld)k
-
-grestore
-
-grestore
-end end restore
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 37 37
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8914(37)s 400 fnt84 3302 11376(P)m 8(oint)k
-4304(labelling)s 360 fnt35 800 9645(@Fig {)m 800 9165(A::)m 800 8685({)m
-800 8205( 1::)m 18( @Ellipse { 3c @Wide 2c @High })k 800 7725( //3c)m 800 7245( 2::)m 18( @Bo)k 10(x { 3c @Wide 2c @High })k
-800 6765(})m 800 6285(@Sho)m 5(wLabels)k 800 5805(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 38 38
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8914(38)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8414 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-5760 4873 0 4647 400 480 100 1440 3767 LoutGr2
-grestore save gsave 200 dict begin lfigdict begin
-grestore
-2153 4873 0 4647 400 480 100 0 0 LoutGr2
-currentdict end 200 dict begin begin
-grestore
-2153 1586 226 1360 400 480 100 0 3287 LoutGr2
-currentdict end 200 dict begin begin
-grestore
-2153 1586 226 1360 400 480 100 0 0 LoutGr2
-
-0.5 pt setlinewidth lfiground setlinecap
-0.15 cm /lfigsolid [ lfigellipse ] lfigdopath
-pop pop
-grestore
-
-grestore
-(1) lfigpromotelabels
-grestore
-2153 1586 226 1360 400 480 100 0 0 LoutGr2
-currentdict end 200 dict begin begin
-grestore
-2153 1586 226 1360 400 480 100 0 0 LoutGr2
-
-0.5 pt setlinewidth lfiground setlinecap
-0.15 cm /lfigsolid [ lfigbox ] lfigdopath
-pop pop
-grestore
-
-grestore
-(2) lfigpromotelabels
-grestore
-(A) lfigpromotelabels
-grestore
-3507 4873 0 4647 400 480 100 2253 0 LoutGr2
-lfigshowlabels
-grestore
-
-grestore
-end end restore
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 39 39
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Helvetica
-/pgsave save def
-%%IncludeResource: font Times-Bold
-/Times-Boldfnt84 vec2 /Times-Bold LoutRecode
-/fnt84 { /Times-Boldfnt84 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8912(39)s 400 fnt84 3895 11375(Graphs)m
-340 fnt35 800 9035(@Gr)m 3(aph)k 800 8555( abo)m 5(v)k 8(ecaption { Ne)k 6(w South )k 13(W)k 13(ales road deaths)k
-800 8075(\(per 100 million v)m 8(ehicle km\) })k 800 7595({)m 800 7115( @Data points { plus } pairs { dashed })m 800 6635( { 1963 5.6 1971 4.3 1976 3.7 1979 3.4)m
-800 6155( 1982 2.9 1985 2.3 1988 2.0 })m 800 5675(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 40 40
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8909(40)s gsave
-0 667 translate
-400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-1631 8367(Ne)m 10(w)k
-2463(South)s 3491(W)s 32(ales)k 4540(road)s 5347(deaths)s
-1717 7887(\(per)m 2460(100)s 3151(million)s 4400(v)s 6(ehicle)k
-5639(km\))s 5103 3402 0 3402 400 480 100 1440 4116 LoutGr2
-grestore
-
-gsave xsize ysize lgraphdict begin /ysize exch def /xsize exch def
-/alldata [ [ [ 1963 5.6 1971 4.3 1976 3.7 1979 3.4 1982 2.9 1985 2.3 1988 2.0 ] xandy
-{ plus }
-{ ilinesetup dashed }
-{ /dashlength 0.2 ft def
- /linewidth currentlinewidth def
- /symbolsize 0.15 ft def }
-{ false }
-] ] def
-0 [ false ] 0 alldata false false 0
-0.5 cm false false 0.5 ft xset
-0 [ false ] 1 alldata false false 0
-0.5 cm false false 0.5 ft yset
-norset
-rundata framestyle
-grestore
-end
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 41 41
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Helvetica
-/pgsave save def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-1 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8922(41)s 360 fnt35 800 10484(-2p @F)m 10(ont @Gr)k 3(aph)k
-800 10004( style { ax)m 10(es })k 800 9524( xor)m -5(igin { 0 } y)k 7(or)k -5(igin { 0 })k
-800 9044( xtic)m 7(ks { 10@ 50@ 100@ 200@ 500@ })k 800 8564( objects { @NE at { 300 2 } @I { Exponential })m 800 8084( @SE at { ...)m 21( } @I { Unif)k 10(or)k -9(m } })k
-800 7604( belo)m 5(wcaption { @I n })k 800 7124({)m 800 6644( @Data points { \207lledcircle } { ...)m 21( })k
-800 6164( @Data points { \207lledcircle } { ...)m 21( })k 800 5204( @Data pairs { dashed })m 800 4724( { 10 2 500 2 })m 800 3764( @Data pairs { dashed })m
-800 3284( {)m 800 2804( xloop from { 10 } to { 500 } b)m 7(y { 20 } do)k 800 2324( {)m 800 1844( x sqr)m -14(t { pi*x / 4 } + 1)k
-800 1364( })m 800 884( })m 800 404(})m
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Page: 42 42
-%%BeginPageSetup
-%%PageResources: font Times-Roman
-%%+ font Times-Italic
-/pgsave save def
-%%IncludeResource: font Times-Italic
-/Times-Italicfnt83 vec2 /Times-Italic LoutRecode
-/fnt83 { /Times-Italicfnt83 LoutFont } def
-0.0500 dup scale 10 setlinewidth
-%%EndPageSetup
-gsave
-0 0 translate
-400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic
-gsave
-LoutPageSet
-grestore
-gsave
-0 16840 translate
-0.0000 rotate
-9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2
-0 LoutMargSet
-grestore
-160 fnt82 0 12479(lout)m 8910(42)s gsave
-0 668 translate
-400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic
-gsave
-LoutBox stroke
-grestore
-gsave
-1440 4671 translate
-360 fnt82 5670 3969 0 3969 360 480 90 LoutGraphic
-gsave
-grestore
-
-gsave xsize ysize lgraphdict begin /ysize exch def /xsize exch def
-/alldata [ [ [ 10 1.97 50 2.01 100 2.00 200 2.0 500 2.00 ] xandy
-{ filledcircle }
-{ }
-{ /dashlength 0.2 ft def
- /linewidth currentlinewidth def
- /symbolsize 0.15 ft def }
-{ false }
-]
-[ [ 10 3.53 50 7.45 100 9.32 200 13.41 500 21.63 ] xandy
-{ filledcircle }
-{ }
-{ /dashlength 0.2 ft def
- /linewidth currentlinewidth def
- /symbolsize 0.15 ft def }
-{ false }
-]
-[ [ 10 2 500 2 ] xandy
-{ }
-{ linesetup cdashed }
-{ /dashlength 0.2 ft def
- /linewidth currentlinewidth def
- /symbolsize 0.15 ft def }
-{ false }
-]
-[ [ 10 20 500 { /xval exch def xval 3.14159 xval mul 4 div sqrt 1 add } for ] xandy
-{ }
-{ linesetup cdashed }
-{ /dashlength 0.2 ft def
- /linewidth currentlinewidth def
- /symbolsize 0.15 ft def }
-{ false }
-] ] def
-0 [ 10 lgen 50 lgen 100 lgen 200 lgen 500 lgen ] 0 alldata false false 0
-0 false 0 0.5 ft xset
-0 [ false ] 1 alldata false false 0
-0 false 0 0.5 ft yset
-norset
-rundata axesstyle
-grestore
-1953 535 0 535 360 480 90 0 -535 LoutGr2
-300 2 trpoint translate 0 ysize translate gsave
-grestore
-360 fnt83 108 182(Exponential)m
-grestore
-grestore
-1428 533 0 533 360 480 90 0 -533 LoutGr2
-300 3.14159 300 4 div mul sqrt 1 add trpoint translate 0 0 translate gsave
-grestore
-360 fnt83 108 182(Uniform)m grestore
-grestore
-end
-
-grestore
-360 fnt83 4189 3901(n)m
-grestore
-
-grestore
-
-grestore
-
-grestore
-
-pgsave restore
-showpage
-
-%%Trailer
-%%DocumentNeededResources: font Helvetica
-%%+ font Helvetica-Oblique
-%%+ font Symbol
-%%+ font Times-Roman
-%%+ font Times-Italic
-%%+ font Times-Bold
-%%DocumentSuppliedResources: procset LoutStartUp
-%%+ procset LoutTabPrependGraphic
-%%+ procset LoutFigPrependGraphic
-%%+ procset LoutGraphPrependGraphic
-%%+ procset LoutBasicSetup
-%%+ encoding vec2
-%%Pages: 42
-%%EOF