[comp.sources.amiga] v90i013: plplot 2.6 - C library for making scientific plots, Part12/12

Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator) (01/15/90)

Submitted-by: Anthony M. Richardson <amr@dukee.egr.duke.edu>
Posting-number: Volume 90, Issue 013
Archive-name: applications/plplot-2.6/part12

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 12 (of 12)."
# Contents:  docs/chapter4.tex
# Wrapped by tadguy@xanth on Sun Jan 14 18:12:00 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'docs/chapter4.tex' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'docs/chapter4.tex'\"
else
echo shar: Extracting \"'docs/chapter4.tex'\" \(43245 characters\)
sed "s/^X//" >'docs/chapter4.tex' <<'END_OF_FILE'
X\chapter {PLPLOT Subroutine Reference} \label{reference}
X
XAll the PLPLOT subroutines are listed below in alphabetical
Xorder.
X
X\bname{pladv(sub)}\label{pladv}
X\addcontentsline{toc}{subsection}{pladv}
X
X\descr{Advances to the next subpage if {\tt sub=0} or to the specified
Xsubpage
Xif {\tt sub} is non-zero. This routine is called automatically (with
X{\tt sub=0})
Xby {\tt plenv}, but if {\tt plenv} is not used, {\tt pladv}
X must be called after {\tt plstar}
Xbut before defining the viewport.}
X
X\argu {{\tt sub} (PLINT, input)}{Specifies the subpage number (starting from
X1 in the top left corner and increasing along the rows) to which to advance.
XSet to zero to advance to the next subpage.}
X
X
X
X\bname{plbeg(dev,nx,ny)}\label{plbeg}
X\addcontentsline{toc}{subsection}{plbeg}
X
X\descr{Alternative to {\tt plstar} for initializing the plotting package. The
X        device number of the desired output device must be supplied as
X        an argument. The mapping from device numbers to devices varies
X        from one implementation to another, and so use of {\tt plstar} which
X        prompts for the device type is recommended. The device codes are
X        the same as those printed out by {\tt plstar}. This routine also divides
X        the output device into {\tt nx} by {\tt ny} sub-pages, each of which may
X        be used independently. The subroutine {\tt pladv} is used to advance
X        from one subpage to the next.}
X
X\argu {{\tt dev} (PLINT, input)}{Device number of the required output device.}
X
X\argu {{\tt nx} (PLINT, input)}{Number of subpages to divide output page in
X      the horizontal direction.}
X
X\argu {{\tt ny} (PLINT, input)}{Number of subpages to divide output page in
X      the vertical direction.}
X
X
X
X\bname{plbin(nbin,x,y,cen)}\label{plbin}
X\addcontentsline{toc}{subsection}{plbin}
X
X\descr{Plots a histogram consisting of {\tt n} bins. The value associated
X       with the {\tt i}'th bin is placed in {\tt x[i]}, and the number of
X       points in the bin is placed in {\tt y[i]}. For proper operation,
X       the values in {\tt x[i]} must form a strictly increasing sequence.
X       If {\tt centre} is false, {\tt x[i]} is the left-hand edge of the
X       {\tt i'th} bin, and if {\tt centre} is true, the bin boundaries
X       are placed midway between the values in the {\tt x}~array. Also
X       see {\tt plhist} for drawing histograms from unbinned data.}
X
X\argu {{\tt nbin} (PLINT, input)}{Number of bins (i.e., number of values in $x$
Xand $y$ arrays.)}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to array containing
Xvalues associated with bins. These must form
Xa strictly increasing sequence.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to array containing
Xnumber of points in bin. This is a
XPLFLT (instead of PLINT)
Xarray so as to allow histograms of probabilities, etc.}
X
X\argu {{\tt cen} (PLINT, input)}{Indicates whether the values in {\tt x}
Xrepresent the lower bin boundaries ({\tt cen=0}) or whether
Xthe bin boundaries are to be midway between the {\tt x} values ({\tt cen=1}).
XIf the values in {\tt x} are equally spaced and {\tt cen=1},
Xthe values in {\tt x}
Xare the centre values of the bins.}
X
X
X
X\bname{plbox(xopt,xtick,nxsub,yopt,ytick,nysub)}\label{plbox}
X\addcontentsline{toc}{subsection}{plbox}
X
X\descr{Draws a box around the currently defined viewport, and labels it
X       with world coordinate values appropriate to the window. Thus
X       {\tt plbox} should only be called after defining both viewport and
X       window. The character strings {\tt xopt} and {\tt yopt} specify how the
X       box should be drawn as described below. If ticks and/or subticks
X       are to be drawn for a particular axis, the tick intervals and number
X       of subintervals may be specified explicitly, or they may be
X       defaulted by setting the appropriate arguments to zero.}
X
X\argu {{\tt xopt} (char *, input)}{Pointer to
Xcharacter string specifying options for
Xhorizontal axis. The string can include any combination of the following
Xletters (upper or lower case) in any order:
X\begin{itemize}
X\item{{\tt a :}} Draws axis, X-axis is horizontal line {\tt y=0}, and Y-axis is
Xvertical line {\tt x=0}.
X\item{{\tt b :}} Draws bottom (X) or left (Y) edge of frame.
X\item{{\tt c :}} Draws top (X) or right (Y) edge of frame.
X\item{{\tt g :}} Draws a grid at the major tick interval.
X\item{{\tt i :}} Inverts tick marks, so they are drawn outwards, rather than
Xinwards.
X\item{{\tt l :}} Labels axis logarithmically. This only affects the labels,
Xnot the data, and so it is necessary to compute the logarithms of data
Xpoints before passing them to any of the drawing routines.
X\item{{\tt m :}} Writes numeric labels at major tick intervals in the
Xunconventional location (above box for X, right of box for Y).
X\item{{\tt n :}} Writes numeric labels at major tick intervals in the
Xconventional location (below box for X, left of box for Y).
X\item{{\tt s :}} Enables subticks between major ticks, only valid if {\tt t} is
Xalso specified.
X\item{{\tt t :}} Draws major ticks.
X\end{itemize}}
X
X\argu {{\tt xtick} (PLFLT, input)}{World coordinate interval between major ticks
Xon the x~axis. If it is set to zero, PLPLOT automatically generates a
Xsuitable tick interval.}
X
X\argu {{\tt nxsub} (PLINT, input)}{Number of subintervals between major x~axis
Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
Xsuitable minor tick interval.}
X
X\argu {{\tt yopt} (char *, input)}{Pointer to
Xcharacter string specifying options for
Xvertical axis. The string can include any combination of the letters
Xdefined above for {\tt xopt}, and in addition may contain:
X\begin{itemize}
X\item{{\tt v }}{: Write numeric labels for vertical axis parallel to the
Xbase of the graph, rather than parallel to the axis.}
X\end{itemize}
X}
X
X\argu {{\tt ytick} (real, input)}{World coordinate interval between major ticks
Xon the y~axis. If it is set to zero, PLPLOT automatically generates a
Xsuitable tick interval.}
X
X\argu {{\tt nysub} (PLINT, input)}{Number of subintervals between major y~axis
Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
Xsuitable minor tick interval.}
X
X
X
X\bname{ \begin{tabular}{l@{\strut}l}
X        plbox3(&xopt,xlabel,xtick,nxsub,yopt,ylabel,ytick,nysub,\\
X        &zopt,zlabel,ztick,nzsub)
X        \end{tabular}
X      } \label{plbox3}
X\addcontentsline{toc}{subsection}{plbox3}
X
X\descr{Draws axes, numeric and text labels for a three-dimensional surface
X       plot. See Section \ref{threed} on page \pageref{threed} for a
X       more complete description of three-dimensional plotting.}
X
X\argu {{\tt xopt} (char *, input)}{Pointer to
Xcharacter string specifying options for
Xthe x~axis. The string can include any combination of the following
Xletters (upper or lower case) in any order:
X\begin{itemize}
X\item{{\tt b :}} Draws axis at base, at height {\tt z=zmin} where {\tt zmin} is defined
Xby call to {\tt plw3d}. This character must be specified in order to use any
Xof the other options.
X\item{{\tt i :}} Inverts tick marks, so they are drawn downwards, rather than
Xupwards.
X\item{{\tt l :}} Labels axis logarithmically. This only affects the labels,
Xnot the data, and so it is necessary to compute the logarithms of data
Xpoints before passing them to any of the drawing routines.
X\item{{\tt n :}} Writes numeric labels at major tick intervals.
X\item{{\tt s :}} Enables subticks between major ticks, only valid if {\tt t} is
Xalso specified.
X\item{{\tt t :}} Draws major ticks.
X\item{{\tt u :}} If this is specified, the text label for the axis is written
Xunder the axis.
X\end{itemize}
X}
X
X\argu {{\tt xlabel} (char *, input)}{Pointer to
Xcharacter string specifying text label
Xfor the x~axis. It is only drawn if {\tt u} is in the {\tt xopt} string.}
X
X\argu {{\tt xtick} (PLFLT, input)}{World coordinate interval between major ticks
Xon the x~axis. If it is set to zero, PLPLOT automatically generates a
Xsuitable tick interval.}
X
X\argu {{\tt nxsub} (PLINT, input)}{Number of subintervals between major x~axis
Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
Xsuitable minor tick interval.}
X
X\argu {{\tt yopt} (char *, input)}{Pointer to
Xcharacter string specifying options for
Xthe y~axis. The string is interpreted in the same way as {\tt xopt}.}
X
X\argu {{\tt ylabel} (char *, input)}{Pointer to
Xcharacter string specifying text label
Xfor the y~axis. It is only drawn if {\tt u} is in the {\tt yopt} string.}
X
X\argu {{\tt ytick} (PLFLT, input)}{World coordinate interval between major ticks
Xon the y~axis. If it is set to zero, PLPLOT automatically generates a
Xsuitable tick interval.}
X
X\argu {{\tt nysub} (PLINT, input)}{Number of subintervals between major y~axis
Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
Xsuitable minor tick interval.}
X
X\argu {{\tt zopt} (char *, input)}{Pointer to
Xcharacter string specifying options for
Xthe z~axis. The string can include any combination of the following
Xletters (upper or lower case) in any order:
X\begin{itemize}
X\item{{\tt b :}} Draws z~axis to the left of the surface plot.
X\item{{\tt c :}} Draws z~axis to the right of the surface plot.
X\item{{\tt d :}} Draws grid lines parallel to the x-y plane behind the figure.
XThese lines are not drawn until after {\tt plot3d} or {\tt plmesh} are called
Xbecause of the need for hidden line removal.
X\item{{\tt i :}} Inverts tick marks, so they are drawn away from the centre.
X\item{{\tt l :}} Labels axis logarithmically. This only affects the labels,
Xnot the data, and so it is necessary to compute the logarithms of data
Xpoints before passing them to any of the drawing routines.
X\item{{\tt m :}} Writes numeric labels at major tick intervals on the right-hand
Xverical axis.
X\item{{\tt n :}} Writes numeric labels at major tick intervals on the left-hand
Xverical axis.
X\item{{\tt s :}} Enables subticks between major ticks, only valid if {\tt t} is
Xalso specified.
X\item{{\tt t :}} Draws major ticks.
X\item{{\tt u :}} If this is specified, the text label is written beside the
Xleft-hand axis.
X\item{{\tt v :}} If this is specified, the text label is written beside the
Xright-hand axis.
X\end{itemize}
X}
X
X\argu {{\tt zlabel} (char *, input)}{Pointer to
Xcharacter string specifying text label
Xfor the z~axis. It is only drawn if {\tt u} or {\tt v} are in the {\tt zopt} string.}
X
X\argu {{\tt ztick} (PLFLT, input)}{World coordinate interval between major ticks
Xon the z~axis. If it is set to zero, PLPLOT automatically generates a
Xsuitable tick interval.}
X
X\argu {{\tt nzsub} (PLINT, input)}{Number of subintervals between major z~axis
Xticks for minor ticks. If it is set to zero, PLPLOT automatically generates a
Xsuitable minor tick interval.}
X
X
X
X\bname{plclr()}\label{plclr}
X\addcontentsline{toc}{subsection}{plclr}
X
X\descr{Clears the graphics screen of an interactive device, or ejects
X       a page on a plotter.}
X
X\bname{plcol(color)}\label{plcol}
X\addcontentsline{toc}{subsection}{plcol}
X
X\descr{Sets the color for subsequent lines.}
X
X\argu {{\tt color} (PLINT, input)}{Integer representing the color.}
X
X\bname{plcont(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,pltr)}\label{plcont}
X\addcontentsline{toc}{subsection}{plcont}
X
X\descr{Draws a contour plot of the data in {\tt z[nx][ny]}, using the
X        {\tt nlevel} contour levels specified by {\tt clevel}. Only
X        the region of the array from {\tt kx} to {\tt lx} and from {\tt ky}
X        to {\tt ly} is plotted out. A transformation routine {\tt tr} is
X        used to map indicies within the array to the world coordinates
X        (see Section \ref{contour} on page \pageref{contour}).
X        }
X
X\argu {{\tt z} (PLFLT *, input)}
X       {Pointer to a two-dimensional array containing data
X        to be contoured.}
X
X\argu {{\tt nx, ny} (PLINT, input)} {Physical dimensions of array {\tt z}.}
X
X\argu {{\tt kx, lx} (PLINT, input)} {Range of {\tt x} indicies to consider.}
X
X\argu {{\tt ky, ly} (PLINT, input)} {Range of {\tt y} indicies to consider.}
X
X\argu {{\tt clevel} (PLFLT *, input)} {Pointer to array specifying
X            levels at which to draw contours.}
X
X\argu {{\tt nlevel} (PLINT, input)} {Number of contour levels to draw.}
X
X\argu {{\tt pltr} (void *,input)} {Pointer to function that
Xdefines transformation between indicies
Xin array {\tt z} and the world coordinates. The function should have the
Xform
X\name{pltr(x,y,tx,ty)}
X
X\argu {{\tt x, y} (PLFLT, input)}{ Specifies the position in the array through
Xwhich the contour runs in terms of the array indicies.}
X\argu {{\tt tx, ty} (PLFLT *, output)}{Pointers to the
Xworld coordinates corresponding to the
Xpoint {\tt (x,y)}.}
X}
XA transformation function {\tt xform} is provided for simple linear mappings.
XSee Section \ref{contour} for information.
X
X\bname{plend()}\label{plend}
X\addcontentsline{toc}{subsection}{plend}
X
X\descr{Ends a plotting session, tidies up all the output files,
X       switches interactive devices back into text mode and frees up
X       any memory that was allocated. Must be called
X       before end of program.}
X
X
X
X\bname{plenv(xmin,xmax,ymin,ymax,just,axis)}\label{plenv}
X\addcontentsline{toc}{subsection}{plenv}
X
X\descr{Sets up plotter environment for simple graphs by calling {\tt pladv}
Xand setting up viewport and window to sensible default values. {\tt plenv} leaves
Xenough room around most graphs for axis labels and a title. When these
Xdefaults are not suitable, use the individual routines {\tt plvspa} or {\tt plvpor}
Xfor setting up the viewport, {\tt plwind} for defining the window, and {\tt plbox}
Xfor drawing the box.}
X
X\argu {{\tt xmin} (PLFLT, input)}{Value of~x at left-hand edge of window.}
X
X\argu {{\tt xmax} (PLFLT, input)}{Value of~x at right-hand edge of window.}
X
X\argu {{\tt ymin} (PLFLT, input)}{Value of~y at bottom edge of window.}
X
X\argu {{\tt ymax} (PLFLT, input)}{Value of~y at top edge of window.}
X
X\argu {{\tt just} (PLINT, input)}{If {\tt just=0}, the x~and~y axes are scaled
Xindependently to use as much of the screen as possible, but if {\tt just=1}, the
Xscales of the x~and~y axes are made equal.}
X
X\argu {{\tt axis} (PLINT, input)}{Controls drawing of the box around the plot:
X\begin{itemize}
X\item{-2}: No box or annotation.
X\item{-1}: Draw box only.
X\item{0}: Draw box, labelled with coordinate values around edge.
X\item{1}: In addition to box and labels, draw the two axes
X{\tt x=0} and {\tt y=0}.
X\item{2}: As for {\tt axis=1}, but also draw a grid at the major tick interval.
X\item{10}: Logarithmic x axis, linear y axis.
X\item{11}: Logarithmic x axis, linear y axis and draw line {\tt y=0}.
X\item{20}: Linear x axis, logarithmic y axis.
X\item{21}: Linear x axis, logarithmic y axis and draw line {\tt x=0}.
X\item{30}: Logarithmic x and y axes.
X\end{itemize}
X}
X
X
X
X\bname{plerrx(n,xmin,xmax,y)}\label{plerrx}
X\addcontentsline{toc}{subsection}{plerrx}
X
X\descr{Draws a set of {\tt n} horizontal error bars, the {\tt i}'th error bar
Xextending from {\tt xmin[i]} to {\tt xmax[i]} at y~coordinate {\tt y[i]}. The terminals
Xof the error bar are of length equal to the minor tick length (settable
Xusing {\tt plsmin}).}
X
X\argu {{\tt n} (PLINT, input)}{Number of error bars to draw.}
X
X\argu {{\tt xmin} (PLFLT *, input)}{Pointer to array with
Xx~coordinates of left-hand endpoint of error bars.}
X
X\argu {{\tt xmax} (PLFLT *, input)}{Pointer to array with
Xx~coordinates of right-hand endpoint of error bars.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
Xy~coordinates of error bar.}
X
X
X
X\bname{plerry(n,x,ymin,ymax)}\label{plerry}
X\addcontentsline{toc}{subsection}{plerry}
X
X\descr{Draws a set of {\tt n} vertical error bars, the {\tt i}'th error bar
Xextending from {\tt ymin[i]} to {\tt ymax[i]} at x~coordinate {\tt x[i]}. The terminals
Xof the error bar are of length equal to the minor tick length (settable
Xusing {\tt plsmin}).}
X
X\argu {{\tt n} (PLINT, input)}{Number of error bars to draw.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
Xx~coordinates of error bars.}
X
X\argu {{\tt ymin} (PLFLT *, input)}{Pointer to array with
Xy~coordinates of lower endpoint of error bars.}
X
X\argu {{\tt ymax} (PLFLT *, input)}{Pointer to array with
Xy~coordinate of upper endpoint of error bar.}
X
X
X\bname{plexit(message)}\label{plexit}
X\addcontentsline{toc}{subsection}{plexit}
X
X\descr{This routine is called in case an error is encountered during
Xexecution of a PLPLOT routine. It prints the error message, tries to
Xrelease allocated resources, calls {\tt pl\_exit} and then exits. If
Xcleanup needs to be done in the driver program then the user may want
Xto supply his/her own version of {\tt pl\_exit}.}
X
X\argu {{\tt message} (char *, input)}{Error message.}
X
X
X\bname{pl\_exit()}\label{plxexit}
X\addcontentsline{toc}{subsection}{pl\_exit}
X
X\descr{This routine does an immediate return. It is called by {\tt plexit}
Xand is intended to be replaced by
Xa user routine of the same name so that any user allocated resources
Xcan be released in the case of an error. See {\tt plexit} above.}
X
X
X\bname{plfill(n,x,y)}\label{plfill}
X\addcontentsline{toc}{subsection}{plfill}
X
X\descr{Fills the polygon defined by the {\tt n} points {\tt (x[i],y[i])}
Xusing the pattern defined by {\tt plpsty} or {\tt plpat}.
XThe routine will automatically close the polygon between the last and first
Xvertices. If multiple closed polygons are passed in {\tt x} and {\tt y} then
X{\tt plfill} will fill in between them.}
X
X\argu {{\tt n} (PLINT, input)}{Number of vertices in polygon.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
Xx~coordinates of vertices.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
Xy~coordinates of vertices.}
X
X\bname{plfont(font)}\label{plfont}
X\addcontentsline{toc}{subsection}{plfont}
X
X\descr{Sets the default character font for subsequent character drawing.
X       Also affects symbols produced by {\tt plpoin}.}
X
X\argu {{\tt font} (PLINT, input)}{Specifies the font:
X\begin{itemize}
X\item{1}: Normal font (simplest and fastest)
X\item{2}: Roman font
X\item{3}: Italic font
X\item{4}: Script font
X\end{itemize}
X}
X
X\bname{plfontld(set)}\label{plfontld}
X\addcontentsline{toc}{subsection}{plfontld}
X
X\descr{Sets the character set to use for subsequent character drawing.}
X
X\argu {{\tt set} (PLINT, input)}{Specifies the character set to load:
X\begin{itemize}
X\item{0}: Standard character set
X\item{1}: Extended character set
X\end{itemize}
X}
X
X\bname{plgra()}\label{plgra}
X\addcontentsline{toc}{subsection}{plgra}
X
X\descr{Sets an interactive device to graphics mode, used in conjunction
X       with {\tt pltext} to allow graphics and text to be interspersed.}
X
X\bname{plgspa(xmin,xmax,ymin,ymax)}\label{plgspa}
X\addcontentsline{toc}{subsection}{plgspa}
X
X\descr{Gets the size of the current subpage in millimetres measured
X        from the bottom left hand corner of the output device page
X        or screen. Can be used in conjunction with {\tt plsvpa} for setting
X        the size of a viewport in absolute coordinates (millimetres).}
X
X\argu {{\tt xmin} (PLFLT *, output)}{Pointer to variable with
Xposition of left hand edge of subpage in millimetres.}
X
X\argu {{\tt xmax} (PLFLT *, output)}{Pointer to variable with
Xposition of right hand edge of subpage in millimetres.}
X
X\argu {{\tt ymin} (PLFLT *, output)}{Pointer to variable with
Xposition of bottom edge of subpage in millimetres.}
X
X\argu {{\tt ymax} (PLFLT *, output)}{Pointer to variable with
Xposition of top edge of subpage in millimetres.}
X
X\bname{plhist(n,data,datmin,datmax,nbin,oldwin)}\label{plhist}
X\addcontentsline{toc}{subsection}{plhist}
X
X\descr{Plots a histogram from {\tt n} data points stored in the array {\tt data}.
X       This routine bins the data into {\tt nbin} bins equally spaced between
X       {\tt datmin} and {\tt datmax}, and calls {\tt plbin} to draw the resulting
X       histogram. Parameter {\tt oldwin} allows the histogram either to
X       be plotted in an existing window or causes {\tt plhist} to call
X       {\tt plenv} with suitable limits before plotting the histogram.}
X
X\argu {{\tt n} (PLINT, input)}{Number of data points.}
X
X\argu {{\tt data} (PLFLT *, input)}{Pointer to array with
Xvalues of the {\tt n} data points.}
X
X\argu {{\tt datmin} (PLFLT, input)}{Left-hand edge of lowest-valued bin.}
X
X\argu {{\tt datmax} (PLFLT, input)}{Right-hand edge of highest-valued bin.}
X
X\argu {{\tt nbin} (PLINT, input)}{Number of (equal-sized) bins into which
Xto divide the interval {\tt xmin} to {\tt xmax}.}
X
X\argu {{\tt oldwin} (PLINT, input)}{If one, the histogram is plotted in the
Xcurrently-defined window, and if zero, {\tt plenv} is called automatically
Xbefore plotting.}
X
X
X
X\bname{pljoin(x1,y1,x2,y2)}\label{pljoin}
X\addcontentsline{toc}{subsection}{pljoin}
X
X\descr{Joins the point {\tt (x1,y1)} to {\tt (x2,y2)}.}
X
X\argu {{\tt x1} (PLFLT, input)}{x~coordinate of first point.}
X
X\argu {{\tt y1} (PLFLT, input)}{y~coordinate of first point.}
X
X\argu {{\tt x2} (PLFLT, input)}{x~coordinate of second point.}
X
X\argu {{\tt y2} (PLFLT, input)}{y~coordinate of second point.}
X
X
X
X\bname{pllab(xlabel,ylabel,tlabel)}\label{pllab}
X\addcontentsline{toc}{subsection}{pllab}
X
X\descr{Routine for writing simple labels. Use {\tt plmtex} for more complex
X       labels.}
X
X\argu {{\tt xlabel} (char *, input)}{Label for horizontal axis.}
X
X\argu {{\tt ylabel} (char *, input)}{Label for vertical axis.}
X
X\argu {{\tt tlabel} (char *, input)}{Title of graph.}
X
X
X
X\bname{plline(n,x,y)}\label{plline}
X\addcontentsline{toc}{subsection}{plline}
X
X\descr{Draws {\tt n-1} line segments joining points {\tt (x[i],y[i])}.}
X
X\argu {{\tt n} (PLINT, input)}{Number of points to join.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
Xx~coordinates of points.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
Xy~coordinates of points.}
X
X
X\bname{pllsty(n)}\label{pllsty}
X\addcontentsline{toc}{subsection}{pllsty}
X
X\descr {This sets the line style according to one of eight predefined patterns
X(also see {\tt plstyl}).}
X
X\argu {{\tt n} (PLINT, input)}{Integer value between 1 and 8.}
X
X\bname{plmesh(x,y,z,ly,nx,ny,opt)}\label{plmesh}
X\addcontentsline{toc}{subsection}{plmesh}
X
X\descr{Plots a surface mesh within the environment
X        set up by {\tt plw3d}. The surface is defined by the two-dimensional
X        array {\tt z[][ly]}, the point {\tt z[i][j]} being the value of the
X        function at {\tt (x[i],y[j])}. Note that the points in arrays {\tt x} and
X        {\tt y} do not need to be equally spaced, but must be stored in
X        ascending order. The parameter {\tt opt} controls the way in which the
X        surface is displayed. See Section \ref{threed} on page \pageref{threed}
X        for further details.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to
Xset of x~coordinate values at which the
Xfunction is evaluated.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to
Xset of y~coordinate values at which the
Xfunction is evaluated.}
X
X\argu {{\tt z} (PLFLT *, input)}{Pointer to two dimensional array with
Xset of function values.}
X
X\argu {{\tt ly} (PLINT, input)}{Declared second dimension of {\tt z}~array.}
X
X\argu {{\tt nx} (PLINT, input)}{Number of {\tt x}~values at which function is
Xevaluated.}
X
X\argu {{\tt ny} (PLINT, input)}{Number of {\tt y}~values at which function is
Xevaluated.}
X
X\argu {{\tt opt} (PLINT, input)}{Determines the way in which the surface
Xis represented:
X\begin{itemize}
X\item{1}: Lines are drawn showing {\tt z} as a function of {\tt x} for each value
X          of {\tt y[j]}.
X\item{2}: Lines are drawn showing {\tt z} as a function of {\tt y} for each value
X          of {\tt x[i]}.
X\item{3}: Network of lines is drawn connecting points at which function is
X          defined.
X\end{itemize}
X}
X
X
X\bname{plmtex(side,disp,pos,just,text)}\label{plmtex}
X\addcontentsline{toc}{subsection}{plmtex}
X
X\descr{Writes text at a specified position relative to the viewport
X       boundaries. Text may be written inside or outside the viewport,
X       but is clipped at the subpage boundaries.
X       The reference point of a string lies along a line passing
X       through the string at half the height of a capital letter.
X       The position of the reference point along this line is determined
X       by {\tt just}, and the position of the reference point relative to
X       the viewport is set by {\tt disp} and {\tt pos}.}
X
X\argu {{\tt side} (char *, input)}{Specifies the side of the viewport along
Xwhich the text is to be written. The string must be one of:
X\begin{itemize}
X\item{b}: Bottom of viewport.
X\item{l}: Left of viewport, text written parallel to edge.
X\item{lv}: Left of viewport, text written at right angles to edge.
X\item{r}: Right of viewport, text written parallel to edge.
X\item{rv}: Right of viewport, text written at right angles to edge.
X\item{t}: Top of viewport.
X\end{itemize}
X}
X
X\argu {{\tt disp} (PLFLT, input)}{Position of the reference point of string,
Xmeasured outwards from the specified viewport edge in units of the
Xcurrent character height. Use negative {\tt disp} to write within the
Xviewport.}
X
X\argu {{\tt pos} (PLFLT, input)}{Position of the reference point of string along
Xthe specified edge, expressed as a fraction of the length of the edge.}
X
X\argu {{\tt just} (PLFLT, input)}{Specifies the position of the string relative
Xto its reference point. If {\tt just=0}, the reference point is at the left
Xand if {\tt just=1}, it is at the right of the string. Other values of {\tt just}
Xgive intermediate justifications.}
X
X\argu {{\tt text} (char *, input)}{The string to be written out.}
X
X
X
X\bname{plot3d(x,y,z,ly,nx,ny,opt,side)}\label{plot3d}
X\addcontentsline{toc}{subsection}{plot3d}
X
X\descr{Plots a three dimensional surface plot within the environment
X        set up by {\tt plw3d}. The surface is defined by the two-dimensional
X        array {\tt z[][ly]}, the point {\tt z[i][j]} being the value of the
X        function at {\tt (x[i],y[j])}. Note that the points in arrays {\tt x} and
X        {\tt y} do not need to be equally spaced, but must be stored in
X        ascending order. The parameter {\tt opt} controls the way in which the
X        surface is displayed. See Section \ref{threed} on page \pageref{threed}
X        for further details.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to
Xset of x~coordinate values at which the
Xfunction is evaluated.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to
Xset of y~coordinate values at which the
Xfunction is evaluated.}
X
X\argu {{\tt z} (PLFLT *, input)}{Pointer to two dimensional array with
Xset of function values.}
X
X\argu {{\tt ly} (PLINT, input)}{Declared second dimension of {\tt z}~array.}
X
X\argu {{\tt nx} (PLINT, input)}{Number of {\tt x}~values at which function is
Xevaluated.}
X
X\argu {{\tt ny} (PLINT, input)}{Number of {\tt y}~values at which function is
Xevaluated.}
X
X\argu {{\tt opt} (PLINT, input)}{Determines the way in which the surface
Xis represented:
X\begin{itemize}
X\item{1}: Lines are drawn showing {\tt z} as a function of {\tt x} for each value
X          of {\tt y[j]}.
X\item{2}: Lines are drawn showing {\tt z} as a function of {\tt y} for each value
X          of {\tt x[i]}.
X\item{3}: Network of lines is drawn connecting points at which function is
X          defined.
X\end{itemize}
X}
X
X\argu {{\tt side} (PLINT, input)}{Flag to indicate whether or not ``sides''
Xshould be draw on the figure. If {\tt side=0} no sides are drawn, otherwise
Xthe sides are drawn.}
X
X\bname{plpat(nlin,inc,del)}\label{plpat}
X\addcontentsline{toc}{subsection}{plpat}
X
X\descr{Sets the area fill pattern. The
Xpattern consists of 1 or 2 sets of parallel lines with specified
Xinclinations and spacings. The arguments to this routine are the
Xnumber of sets to use (1 or 2) followed by two pointers to integer
Xarrays (of 1 or 2 elements) specifying the inclinations in tenths
Xof a degree and the spacing in micrometers. (also see {\tt plpsty})}
X
X\argu{{\tt nlin} (PLINT, input)}{Number of sets of lines making up the pattern,
Xeither 1 or 2.}
X
X\argu{{\tt inc} (PLINT *, input)}{Pointer to array with {\tt nlin} elements.
XSpecifies the line inclination in tenths of a degree. (Should be between
X-900 and 900).}
X
X\argu{{\tt del} (PLINT *, input)}{Pointer to array with {\tt nlin} elements.
XSpecify the spacing in micrometers between the lines making up the pattern.}
X
X\bname{plpoin(n,x,y,code)}\label{plpoin}
X\addcontentsline{toc}{subsection}{plpoin}
X
X\descr{Marks out a set of {\tt n} points at positions {\tt (x(i),y(i))}, using
X       the symbol defined by {\tt code}. If {\tt code} is between 32 and 127,
X       the symbol is simply the printable ASCII character in the default
X       font.}
X
X\argu {{\tt n} (PLINT, input)}{Number of points to be marked.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
Xset of x~coordinate values for the points.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
Xset of y~coordinate values for the points.}
X
X\argu {{\tt code} (PLINT, input)}{Code number for the symbol to be plotted.}
X
X
X\bname{plprec(set,prec)}\label{plprec}
X\addcontentsline{toc}{subsection}{plprec}
X
X\descr {Sets the number of places after the decimal point in numeric labels.}
X
X\argu {{\tt set} (PLINT, input)}{ If {\tt set} is equal to 0 then PLPLOT
X       automatically determines the number of places to use after the
X       decimal point in numeric labels (like those used to label axes).
X       If {\tt set} is 1 then {\tt prec} sets the number of places.}
X
X\argu {{\tt prec} (PLINT, input)}{The number of characters to draw after the
X       decimal point in numeric labels.}
X
X\bname{plpsty(n)}\label{plpsty}
X\addcontentsline{toc}{subsection}{plpsty}
X
X\descr{Select one of eight predefined area fill patterns to use. (also see
X{\tt plpat})}
X
X\argu {{\tt n} (PLINT *, input)}{The desired pattern.}
X
X\bname{plptex(x,y,dx,dy,just,text)}\label{plptex}
X\addcontentsline{toc}{subsection}{plptex}
X
X\descr{Writes text at a specified position and inclination within the
X       viewport. Text is clipped at the viewport boundaries.
X       The reference point of a string lies along a line passing
X       through the string at half the height of a capital letter.
X       The position of the reference point along this line is determined
X       by {\tt just}, the reference point is placed at world coordinates
X       {\tt (x,y)} within the viewport. The inclination of the string is
X       specified in terms of differences of world coordinates making
X       it easy to write text parallel to a line in a graph.}
X
X\argu {{\tt x} (PLFLT, input)}{x coordinate of reference point of string.}
X
X\argu {{\tt y} (PLFLT, input)}{y coordinate of reference point of string.}
X
X\argu {{\tt dx} (PLFLT, input)}{Together with {\tt dy}, this specifies the inclination
Xof the string. The baseline of the string is parallel to a line joining
X{\tt (x,y)} to {\tt (x+dx,y+dy)}.}
X
X\argu {{\tt dy} (PLFLT, input)}{Together with {\tt dx}, this specifies the inclination
Xof the string.}
X
X\argu {{\tt just} (PLFLT, input)}{Specifies the position of the string relative
Xto its reference point. If {\tt just=0}, the reference point is at the left
Xand if {\tt just=1}, it is at the right of the string. Other values of {\tt just}
Xgive intermediate justifications.}
X
X\argu {{\tt text} (char *, input)}{The string to be written out.}
X
X
X
X\bname{plschr(def,scale)}\label{plschr}
X\addcontentsline{toc}{subsection}{plschr}
X
X\descr {This sets up the size of all subsequent characters drawn. The
X        actual height of a character is the product of the default
X        character size and a scaling factor.}
X
X\argu {{\tt def} (PLFLT, input)}{The default height of a character in millimetres,
X        should be set to zero if the default height is to remain unchanged.}
X
X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
X        get actual character height.}
X
X
X\bname{plselect(ori,file)}\label{plselect}
X\addcontentsline{toc}{subsection}{plselect}
X
X\descr {This routine can be used to set the graph orientation and to select
X        a file in which the graphics commands should be stored.  These options
X        are not supported by all graphics devices (in particular, most
X        interactive screen drivers ignore both the orientation and the
X        filename parameters).  The use of this routine is optional. If a
X        device driver needs orientation or filename information, it will
X        prompt the user for it if this routine is not used.  This routine,
X        if used, must be called before {\tt plstar} or {\tt pladv}. }
X
X\argu {{\tt ori} (PLINT, input)}{The desired orientation. If {\tt ori} is equal
X        to zero then use landscape (x axis is parallel to the longest edge
X        of the page), otherwise use portrait orientation.}
X
X\argu {{\tt file} (char *, input)} {The device graphics commands are stored
X       in this file.  If this file does not exist, it is created.  If it
X       does exist, it is overwritten.}
X
X
X\bname{plsetup(xdpi,ydpi,xwid,ywid)}\label{plsetup}
X\addcontentsline{toc}{subsection}{plsetup}
X
X\descr {PLPLOT needs to know the graphics device resolution so that
X        characters, tick marks, line styles, and fill patterns can be
X        drawn correctly.  The page size is required so that the graph
X        can be scaled to fit on the page. The device resolution and
X        page size are hard coded into most of the device drivers. Some
X        devices (or psuedo-devices like an Interchange File Format (IFF)
X        device) allow multiple resolutions and page sizes. This routine
X        can be used to set up things as desired.  This routine is
X        optional. If a device driver requires this information and
X        {\tt plsetup} is not used then the user will be prompted for it.
X        This routine, if used, must be called before {\tt plstar} or
X        {\tt pladv}.}
X
X\argu {{\tt xdpi} (PLFLT, input)}{The desired resolution in dots per inch
X       in the x axis direction.}
X
X\argu {{\tt ydpi} (PLFLT, input)}{The desired resolution in dots per inch
X       in the y axis direction.}
X
X\argu {{\tt xwid} (PLINT, input)}{The page width in pixels in the x axis
X       direction.}
X
X\argu {{\tt ywid} (PLINT, input)}{The page width in pixels in the y axis
X       direction.}
X
X
X\bname{plsmaj(def,scale)}\label{plsmaj}
X\addcontentsline{toc}{subsection}{plsmaj}
X
X\descr {This sets up the length of the major ticks. The
X        actual length is the product of the default length and a scaling
X        factor as for character height.}
X
X\argu {{\tt def} (PLFLT, input)}{The default length of a major tick in millimetres,
X        should be set to zero if the default length is to remain unchanged.}
X
X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
X        get actual tick length.}
X
X
X
X\bname{plsmin(def,scale)}\label{plsmin}
X\addcontentsline{toc}{subsection}{plsmin}
X
X\descr {This sets up the length of the minor ticks and the length of the
X        terminals on error bars. The actual length is the product of the
X        default length and a scaling factor as for character height.}
X
X\argu {{\tt def} (PLFLT, input)}{The default length of a minor tick in millimetres,
X        should be set to zero if the default length is to remain unchanged.}
X
X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
X        get actual tick length.}
X
X
X
X\bname{plssym(def,scale)}\label{plssym}
X\addcontentsline{toc}{subsection}{plssym}
X
X\descr {This sets up the size of all subsequent symbols drawn by
X        {\tt plpoin} and {\tt plsym}. The
X        actual height of a symbol is the product of the default
X        symbol size and a scaling factor as for the character height. }
X
X\argu {{\tt def} (PLFLT, input)}{The default height of a symbol in millimetres,
X        should be set to zero if the default height is to remain unchanged.}
X
X\argu {{\tt scale} (PLFLT, input)}{Scale factor to be applied to default to
X        get actual symbol height.}
X
X\bname{plstar(nx,ny)}\label{plstar}
X\addcontentsline{toc}{subsection}{plstar}
X
X\descr{Initializing the plotting package. The program prompts for the
Xdevice number of the desired output device. The output device is divided
Xinto {\tt nx} by {\tt ny} sub-pages, each of which may be used
Xindependently. The subroutine {\tt pladv} is used to advance from one
Xsubpage to the next.}
X
X\argu {{\tt nx} (PLINT, input)}{Number of subpages to divide output page in
X      the horizontal direction.}
X
X\argu {{\tt ny} (PLINT, input)}{Number of subpages to divide output page in
X      the vertical direction.}
X
X
X\bname{plstyl(nels,mark,space)}\label{plstyl}
X\addcontentsline{toc}{subsection}{plstyl}
X
X\descr {This sets up the line style for all lines subsequently drawn.
X        A line consists of segments in which the pen is alternately
X        down and up. The lengths of these segments are passed in the
X        arrays {\tt mark} and {\tt space} respectively. The number of mark-space
X        pairs is specified by {\tt nels}. In order to return the line style
X        to the default continuous line, {\tt plstyl} should be called with
X        {\tt nels=0}.(also see {\tt pllsty})}
X
X\argu {{\tt nels} (PLINT, input)}{The number of {\tt mark} and {\tt space} elements in
X        a line. Thus a simple broken line can be obtained by setting
X        {\tt nels=1}. A continuous line is specified by
X        setting {\tt nels=0}.}
X
X\argu {{\tt mark} (PLINT *, input)}
X       {Pointer to array with the lengths of the segments during which
X        the pen is down, measured in micrometres.}
X
X\argu {{\tt space} (PLINT *, input)}
X       {Pointer to array with the lengths of the segments during which
X        the pen is up, measured in micrometres.}
X
X
X
X\bname{plsvpa(xmin,xmax,ymin,ymax)}\label{plsvpa}
X\addcontentsline{toc}{subsection}{plsvpa}
X
X\descr {Alternate routine to {\tt plvpor} for setting up the viewport. This routine
X        should be used only if the viewport is required to have a definite
X        size in millimetres. The routine {\tt plgspa} is useful for finding
X        out the size of the current subpage. }
X
X\argu {{\tt xmin} (PLFLT, input)}{The distance of the left-hand edge of the
X        viewport from the left-hand edge of the subpage in millimetres.}
X
X\argu {{\tt xmax} (PLFLT, input)}{The distance of the right-hand edge of the
X        viewport from the left-hand edge of the subpage in millimetres.}
X
X\argu {{\tt ymin} (PLFLT, input)}{The distance of the bottom edge of the
X        viewport from the bottom edge of the subpage in millimetres.}
X
X\argu {{\tt ymax} (PLFLT, input)}{The distance of the top edge of the
X        viewport from the top edge of the subpage in millimetres.}
X
X
X
X\bname{plsym(n,x,y,code)}\label{plsym}
X\addcontentsline{toc}{subsection}{plsym}
X
X\descr{Marks out a set of {\tt n} points at positions {\tt (x[i],y[i])}, using
X       the symbol defined by {\tt code}. The code is interpreted as an
X       index in the Hershey font tables.}
X
X\argu {{\tt n} (PLINT, input)}{Number of points to be marked.}
X
X\argu {{\tt x} (PLFLT *, input)}{Pointer to array with
Xset of x~coordinate values for the points.}
X
X\argu {{\tt y} (PLFLT *, input)}{Pointer to array with
Xset of y~coordinate values for the points.}
X
X\argu {{\tt code} (PLINT, input)}{Code number for the symbol to be plotted.}
X
X
X
X\bname{pltext()}\label{pltext}
X\addcontentsline{toc}{subsection}{pltext}
X
X\descr{Sets an interactive device to text mode, used in conjunction
X       with {\tt plgra} to allow graphics and text to be interspersed.
X       This is not currently supported on the Amiga. All the labelling
X       is drawn in vector mode.}
X
X
X
X\bname{plvpor(xmin,xmax,ymin,ymax)}\label{plvpor}
X\addcontentsline{toc}{subsection}{plvpor}
X
X\descr {Device-independent routine for setting up the viewport.
X        This defines the viewport in terms of normalized subpage
X        coordinates which run from 0.0 to 1.0 (left to right and
X        bottom to top) along each edge of the current subpage. Use
X        the alternate routine {\tt plsvpa} in order to create a viewport
X        of a definite size.}
X
X\argu {{\tt xmin} (PLFLT, input)}{The normalized subpage coordinate of the
X        left-hand edge of the viewport.}
X
X\argu {{\tt xmax} (PLFLT, input)}{The normalized subpage coordinate of the
X        right-hand edge of the viewport.}
X
X\argu {{\tt ymin} (PLFLT, input)}{The normalized subpage coordinate of the
X        bottom edge of the viewport.}
X
X\argu {{\tt ymax} (PLFLT, input)}{The normalized subpage coordinate of the
X        top edge of the viewport.}
X
X
X
X\bname{plvsta()}\label{plvsta}
X\addcontentsline{toc}{subsection}{plvsta}
X
X\descr {Sets up a standard viewport, leaving a left-hand margin of
X        seven character heights, and four character heights around the
X        other three sides.}
X
X
X
X\bname{plw3s(basex,basey,height,xmin,xmax,ymin,ymax,zmin,zmax,alt,az)}\label{plw3d}
X\addcontentsline{toc}{subsection}{plw3d}
X
X\descr {Sets up a window for a three-dimensional surface plot within the
Xcurrently defined two-dimensional window. The enclosing box for the
Xsurface plot defined by {\tt xmin}, {\tt xmax}, {\tt ymin}, {\tt ymax},
X{\tt zmin} and {\tt zmax} in user-coordinate space is mapped into a box
Xof world coordinate size {\tt basex} by {\tt basey} by {\tt height} so
Xthat {\tt xmin} maps to {\tt -basex/2}, {\tt xmax} maps to {\tt
Xbasex/2}, {\tt ymin} maps to {\tt -basey/2}, {\tt ymax} maps to {\tt
Xbasey/2}, {\tt zmin} maps to {\tt 0} and {\tt zmax} maps to {\tt
Xheight}. The resulting world-coordinate box is then viewed by an
Xobserver at altitude {\tt alt} and azimuth {\tt az}. This routine must
Xbe called before {\tt plbox3} or {\tt plot3d}. See Section \ref{threed}
Xon page \pageref{threed} for a more complete description of
Xthree-dimensional plotting.}
X
X\argu {{\tt basex} (PLFLT, input)}{The x~coordinate size of the world-coordinate
Xbox.}
X
X\argu {{\tt basey} (PLFLT, input)}{The y~coordinate size of the world-coordinate
Xbox.}
X
X\argu {{\tt height} (PLFLT, input)}{The z~coordinate size of the world-coordinate
Xbox.}
X
X\argu {{\tt xmin} (PLFLT, input)}{The minimum user x~coordinate value.}
X
X\argu {{\tt xmax} (PLFLT, input)}{The maximum user x~coordinate value.}
X
X\argu {{\tt ymin} (PLFLT, input)}{The minimum user y~coordinate value.}
X
X\argu {{\tt ymax} (PLFLT, input)}{The maximum user y~coordinate value.}
X
X\argu {{\tt zmin} (PLFLT, input)}{The minimum user z~coordinate value.}
X
X\argu {{\tt zmax} (PLFLT, input)}{The maximum user z~coordinate value.}
X
X\argu {{\tt alt} (PLFLT, input)}{The viewing altitude in degrees above the xy~plane.}
X
X\argu {{\tt az} (PLFLT, input)}{The viewing azimuth in degrees. When {\tt az=0},
Xthe observer is looking face onto the zx~plane, and as {\tt az} is increased,
Xthe observer moves clockwise around the box when viewed from above the
Xxy~plane.}
X
X
X\bname{plwid(width)}\label{plwid}
X\addcontentsline{toc}{subsection}{plwid}
X
X\descr {Sets the pen width.}
X
X\argu {{\tt width} (PLINT, input)}{The desired pen width. The pen width
Xmust be between 1 and a device dependent maximum value.}
X
X
X
X\bname{plwind(xmin,xmax,ymin,ymax)}\label{plwind}
X\addcontentsline{toc}{subsection}{plwind}
X
X\descr {Sets up the world coordinates of the edges of the viewport.}
X
X\argu {{\tt xmin} (PLFLT, input)}{The world x~coordinate of the
X        left-hand edge of the viewport.}
X
X\argu {{\tt xmax} (PLFLT, input)}{The world x~coordinate of the
X        right-hand edge of the viewport.}
X
X\argu {{\tt ymin} (PLFLT, input)}{The world y~coordinate of the
X        bottom edge of the viewport.}
X
X\argu {{\tt ymax} (PLFLT, input)}{The world y~coordinate of the
X        top edge of the viewport.}
X
END_OF_FILE
if test 43245 -ne `wc -c <'docs/chapter4.tex'`; then
    echo shar: \"'docs/chapter4.tex'\" unpacked with wrong size!
fi
# end of 'docs/chapter4.tex'
fi
echo shar: End of archive 12 \(of 12\).
cp /dev/null ark12isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 12 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
	amiga@cs.odu.edu	
or	amiga@xanth.cs.odu.edu	( obsolescent mailers may need this address )
or	...!uunet!xanth!amiga	( very obsolescent mailers need this address )

Comments, questions, and suggestions s should be addressed to ``amiga-request''
(only use ``amiga'' for submissions) at the above addresses.