%!ps %% Draws a "Typical Book Page," as seen in Tom Weller's extremely funny book, %% "Cvltvre Made Stvpid" (ISBN 0-395-40461-4, Houghton Mifflin 1987). %% %% PostScript code by Jamie Zawinski , 23 Apr 90. %% /MaxDepth 6 def /Depth -1 def /inch { 72.3 mul } bind def /fontA /Times-Italic findfont 18 scalefont def /fontB /Helvetica-Bold findfont 12 scalefont def /fontC /Times-Roman findfont 12 scalefont def 1.3 setlinewidth /donut { gsave translate 0 0 moveto 0 0 1.5 0 360 arc fill 3 3 1.5 0 360 arc fill 2 1 1.5 0 360 arc fill -2 2 1 0 360 arc fill -1 5 1.5 0 360 arc fill -1 3.5 1 0 360 arc fill 1 4.5 1 0 360 arc fill grestore } def /outline { /Depth Depth 1 add def gsave fontA setfont 1 inch 9.7 inch moveto Depth 4 ne {(A Typical Book Page)} {(Una Pagina Tipica del Libro)} ifelse show 1.5 inch 1.7 inch moveto 5.5 inch 0.0 inch rlineto 0.0 inch 7.0 inch rlineto -5.5 inch 0.0 inch rlineto closepath stroke fontB setfont 1.5 inch 9.0 inch moveto (GUTTER) show 1.85 inch 8.9 inch moveto 0.0 -0.5 inch rlineto stroke 2.6 inch 9.0 inch moveto (TITLE) show 2.8 inch 8.9 inch moveto 0.0 -0.7 inch rlineto stroke 3.7 inch 9.15 inch moveto (HEAD) show 3.6 inch 9.0 inch moveto (MARGIN) show 3.95 inch 8.9 inch moveto 0.0 -0.5 inch rlineto stroke 4.7 inch 9.0 inch moveto (ILLUSTRATION) show 5.3 inch 8.9 inch moveto 0.0 -1.0 inch rlineto stroke 6.25 inch 9.15 inch moveto (OUTSIDE) show 6.3 inch 9.0 inch moveto (MARGIN) show 6.6 inch 8.9 inch moveto 0.0 -0.5 inch rlineto stroke Depth 3 eq { 1.5 inch 1.4 inch moveto (IF YOU CAN READ) show 1.5 inch 1.25 inch moveto (THIS, YOU'RE TOO) show 1.7 inch 1.1 inch moveto (DARN CLOSE) show } { 1.5 inch 1.4 inch moveto (LINE REPRESENTING) show 1.6 inch 1.25 inch moveto (EDGE OF TYPICAL) show 1.8 inch 1.1 inch moveto (BOOK PAGE) show } ifelse 2.625 inch 1.6 inch moveto currentpoint pop 1.7 inch lineto stroke 3.45 inch 1.4 inch moveto (CAPTION) show 3.85 inch 1.6 inch moveto currentpoint pop 2.5 inch lineto stroke 4.5 inch 1.4 inch moveto (FOOT) show 4.4 inch 1.25 inch moveto (MARGIN) show 4.75 inch 1.6 inch moveto currentpoint pop 2.0 inch lineto stroke Depth 2 lt { 5.2 inch 1.4 inch moveto (``DONUT'' CAUSED) show 5.5 inch 1.25 inch moveto (BY SPEC ON) show 5.3 inch 1.1 inch moveto (PRINTING PLATE) show } { 5.2 inch 1.4 inch moveto (PRESSMAN FINALLY) show 5.3 inch 1.25 inch moveto (NOTICED DONUT,) show 5.3 inch 1.1 inch moveto (CLEANED PLATE) show } ifelse Depth 3 lt { 6.95 inch 0.5 inch donut } if 6.0 inch 1.6 inch moveto currentpoint pop 1.9 inch lineto stroke 7.1 inch 1.4 inch moveto (DROP) show 7.1 inch 1.25 inch moveto (FOLIO) show 7.3 inch dup 1.6 inch moveto 2.125 inch lineto 6.5 inch 2.125 inch lineto stroke fontC setfont 7.25 inch 0.6 inch moveto (57) show Depth MaxDepth lt { 1.5 inch 1.7 inch translate 5.5 8.5 div dup scale outline } if grestore } bind def outline showpage