Changes in 3.0 Changed all two dimensional arrays to arrays of pointers. plot3d() and plmesh() no longer take the ly argument. This speeds things up quite a bit. It breaks all previous calls to plot3d() and plmesh() however. Added routines plcwin() and plgwin() for switching between graphics and text windows in multiple window devices. Reduced the number of font files from 6 to 2 to make installing and handling of fonts a little cleaner. I've pretty much eliminated most (not all) of the global variables that were used previously. (Just an attempt to make the code a little cleaner.) Fixed bugs in plcntr() (contour plots) and in the tick mark drawing code. (Thanks to Paul Straus for reporting these and also to Mike McCarrick for providing the fix for plcntr()). Changed the format for scientific formatted labels. (Paul Strauss suggested this change also.) 5/6/90 Changed plselect() routine. Now it takes a file pointer. Graphics commands are stored in the file corresponding to this pointer. (Everything can be redirected to stdout if desired). Added plorient() routine which can be used to set orientation. Landscape is the default now and the drivers won't prompt for orientation so this routine must be used for portrait orientation. It must be called before plstar(). Fixed a few bugs in the postscript driver. It should now calculate the BoundingBox correctly. Added plvasp() which can be used to set up a viewport with a given aspect ratio. 5/10/90 Fixed bug in line style routine, should do line styles correctly now. Using new portable makefiles now. (I hope). 5/30/90 Added plaxes() routine to draw axes at a specified origin.