diff options
author | Karl Berry <karl@freefriends.org> | 2011-12-28 23:47:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-12-28 23:47:28 +0000 |
commit | 30a1fd9b015947c4d93f8696ea8367c8f9fa167a (patch) | |
tree | 6c06ac85980b47a7b9cf273cf3f22130b2943677 /Master/texmf-dist/doc/latex/pictexsum/pictexsum.tex | |
parent | e12ff80ff1745a62a4fcd2b949a4e410bc6eb3ae (diff) |
new/old pictexsum document (28dec11)
git-svn-id: svn://tug.org/texlive/trunk@24965 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/pictexsum/pictexsum.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/pictexsum/pictexsum.tex | 573 |
1 files changed, 573 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/pictexsum/pictexsum.tex b/Master/texmf-dist/doc/latex/pictexsum/pictexsum.tex new file mode 100644 index 00000000000..e4de9b27acc --- /dev/null +++ b/Master/texmf-dist/doc/latex/pictexsum/pictexsum.tex @@ -0,0 +1,573 @@ +% Copyright (c) 1990 Angus Duggan +% All rights reserved. +% +% Redistribution and use in source and binary forms, with or without +% modification, are permitted provided that the following conditions are met: +% +% Redistributions of source code must retain the above copyright +% notice, this list of conditions and the following disclaimer. +% +% Redistributions in binary form must reproduce the above copyright +% notice, this list of conditions and the following disclaimer in the +% documentation and/or other materials provided with the distribution. +% +% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +% IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +% TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +% HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +% SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +% TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +% PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +% LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +% SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +\documentstyle[useful,a4mod]{article} + +\author{Compiled by\\[6pt] +Angus Duggan +\\[6pt] +{\tt tex@ed.lfcs}} + +\title{\PiCTeX{} command summary} + +\date{22\textsuperscript{\rm nd} January 1990} + +% reset page margins +\setleftmargin{1in}{0in} +\setrightmargin{1in}{0in} +%\setheadmargin{1in}{\mainsize}{2\mainsize} +%\setfootmargin{1in}{\mainsize}{2\mainsize} +\setmarginnote{0in}{0in} + +% reset float fractions +\setcounter{topnumber}{3} +\renewcommand{\topfraction}{.5} +\setcounter{bottomnumber}{3} +\renewcommand{\bottomfraction}{.5} +\setcounter{totalnumber}{5} +\renewcommand{\textfraction}{.25} + +% Don't display overfull boxes... +\overfullrule=0pt +% Don't complain about long lines unless they are over 3pt too big... +\hfuzz=3pt + +% names of sysops +\newcommand{\syspers}{Carol Anstruther} +\newcommand{\texpers}{Angus Duggan} + +% font for warnings, notes, etc. +\newfont{\uit}{cmu10} +% font for thin vertical bar +\newfont{\symfont}{cmsy10} + +% abbreviations +\newcommand{\unix}{{\sc unix}} +\newcommand{\dvilaser}{{\sc DviLaser}} +\newcommand{\tex}{{tex}} +\newcommand{\Tex}{{Tex}} + +\newcommand{\rvb}{{\symfont\char'152}} + +\renewcommand{\emph}[1]{{\em#1\/}} +\newcommand{\slan}[1]{{\sl#1\/}} +\newcommand{\type}[1]{{\tt#1}} + +% indented \tt paragraphs, for commands +\newenvironment{command}% + {\begin{list}{}{\tt}\item[]}% + {\end{list}} +% indented verbatim paragraphs, for commands +\newverbatim{verbcommand}% + {\begin{list}{}{\parsep0pt\itemsep0pt}\item[]}% + {\end{list}} +% small indented verbatim for examples +\newverbatim{example}% + {\begin{list}{}{\small\parsep0pt\itemsep0pt}\item[]}% + {\end{list}} +% list for syntax decls. +\newenvironment{syntax}% + {\begin{labelled}}% + {\end{labelled}} + +\pagestyle{headings} +%\raggedbottom + +%\makeindex + +\begin{document} + +\maketitle + +This article contains a summary of the \PiCTeX{} commands. This is intended as +a reminder for users who have read the \PiCTeX{} manual (which is available +from the LFCS library). The following conventions should be observed when +using \PiCTeX{} commands: +\begin{itemize} +\item +At least one blank must be present for each blank in the command prototypes +below. +\item +Quantities in \type{<>}'s must be specified as explicit dimensions, or in +terms of \TeX's dimension registers. +\item +\emph{coord}, \emph{xcoord}, \emph{ycoord}, \emph{x}, and \emph{y}, with or +without subscripts or superscripts denote coordinates with respect to the +current coordinate system. In particular, they are dimensionless quantities. +Values must be expressed in fixed point notation, with at most 5 digits to the +right of the decimal point. +\item +Parts of a command enclosed in [\,]'s may be omitted. +\end{itemize} + +\section{Commands} +The \PiCTeX{} drawing commands are: +\begin{syntax} +\item[{\tt\linestack[l]{\bsl accountingoff\\ +\bsl accountingon}}] +These commands suspend and resume \PiCTeX's updating procedure for the minimum +size box enclosing the picture. They should only be used when \PiCTeX{} has +been notified of +the minimum size box already (e.g.~by executing a \verb+\setplotarea+). +\item[{\tt\bsl arrow <$\ell$> [$\beta$,$\gamma$] +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]} from \emph{xcoord}$_s$ \emph{ycoord}$_s$ to \emph{xcoord}$_e$ +\emph{ycoord}$_e$}] +This command draws an arrow, where (\emph{xcoord}$_s$,\emph{ycoord}$_s$) is the start of the +line on which the arrow lies, (\emph{xcoord}$_e$,\emph{ycoord}$_e$) is the end of the line +on which the arrow lies, $\ell$ is the length of the arrowhead, $\beta\ell$ is +the width of the arrowhead at half its length, and $\gamma\ell$ is the width +of the arrowhead at its full length. The arrowhead will be open, and will be +drawn with a smooth curve through the width points and the end of the line. +The arrowhead will curve in if $2\beta < \gamma$, and curve out if +$2\beta > \gamma$. +\type{<\emph{xshift},\emph{yshift}>} has the same effect as in the \verb+\put+ command. +\item[{\tt\linestack[l]{\bsl axis {\rm[}bottom{\rm]} {\rm[}top{\rm]} {\rm[}left{\rm]} {\rm[}right{\rm]}\\ +\quad{\rm[}shiftedto y=\emph{ycoord}{\rm]} {\rm[}shiftedto x=\emph{xcoord}{\rm]}\\ +\quad{\rm[}visible{\rm]} {\rm[}invisible{\rm]}\\ +\quad{\rm[}label \{\emph{axis label}\}{\rm]}\\ +\quad{\rm[}ticks{\rm]}\\ +\quad\quad{\rm[}out{\rm]} {\rm[}in{\rm]}\\ +\quad\quad{\rm[}long{\rm]} {\rm[}short{\rm]} {\rm[}length <\emph{length}>{\rm]}\\ +\quad\quad{\rm[}width <\emph{width}>{\rm]}\\ +\quad\quad{\rm[}butnotacross{\rm]} {\rm[}andacross{\rm]}\\ +\quad\quad{\rm[}unlabeled{\rm]} {\rm[}numbered{\rm]} {\rm[}withvalues \emph{value}$_1$ \emph{value}$_2$ +\ldots\ /{\rm]}\\ +\quad\quad{\rm[}unlogged{\rm]} {\rm[}logged{\rm]}\\ +\quad\quad{\rm[}quantity $q${\rm]} {\rm[}from \emph{coord}$_s$ to \emph{coord}$_e$ by +\emph{dcoord}{\rm]}\\ +\quad\quad\quad{\rm[}at \emph{coord}$_1$ \emph{coord}$_2$ \ldots\ /{\rm]}\\ +\quad/}}] +This command draws an axis along the \type{bottom}, \type{top}, \type{left}, +or \type{right} edge of the current plot area (one of these keywords must be +specified). +The \type{shiftedto} option causes a bottom or top axis to be +drawn at the specified $y$-coordinate, and a left or right axis to be drawn at +the specified $x$-coordinate. +The keyword \type{invisible} suppresses the drawing of the axis, but not of +tick marks, labels, etc. \type{visible} is the default. +The text specified by \emph{axis label} is centred with respect to the +appropriate edge of the plot area. +\type{ticks} causes tick marks to be drawn on the axis: +\begin{itemize} +\item +Ticks normally point \type{out} from the plot area; \type{in} makes them point +into the plot area. +\item +Ticks are normally \type{long}, but can be made \type{short}, or given an +arbitrary \emph{length} with the \type{length} option. +\item +The \emph{width} of the ticks can be set with the \type{width} option. +\item +Ticks can be extended across the whole plot area with the \type{andacross} +option, making grid lines. The default is \type{butnotacross}, which stops the +ticks from extending across the plot area. +\item +Ticks are normally \type{unlabeled}. If the \type{numbered} option is used, +the \type{at} or \type{from} options below assign numeric values to them. +Arbitrary tick labels can be specified by the \type{withvalues} option; the +labels \emph{value}$_1$, \emph{value}$_2$, \ldots{} are assigned to subsequent ticks until +the list of values is exhausted or an \type{unlabeled} or \type{numbered} +keyword is encountered. Values must be separated by at least one blank, and at +least one blank must precede the `\type{/}' that terminates the list. If a +value contains a blank or `\type{/}', enclose the entire value in +\type{\{\}}'s. +\item +The option \type{quantity $q$} draws $q$ ticks equally spaced from left to +right, or from bottom to top. The first and last ticks are at the ends of the +axis. +\item +The \type{from} option draws ticks at the indicated coordinates. \emph{coord}$_s$, +\emph{coord}$_e$, and \emph{dcoord} must be fixed point numbers, with the same number of +digits to the right of the decimal point (if any), and \emph{dcoord} must be +positive. If the \type{numbered} option is in effect, the coordinate of the +tick is used as the tick label. +\item +The \type{at} option draws ticks at the specified coordinates. As with the +\type{from} option, the coordinates must be fixed point numbers, which are +used as tick labels if \type{numbered} is in effect. The list of coordinates +must be terminated by `\type{/}'. +\item +The \type{logged} option applies only to the positioning subsequent ticks +specified by the \type{at} or \type{from} options. Ticks are placed at the +$\log_{10}$'s of the specified locations; the original unlogged numbers are used +as labels if \type{numbered} is in effect. \type{unlogged} is the default. +\end{itemize} +\item[\tt\bsl beginpicture] +This command is used to start \PiCTeX{} pictures. +\item[{\tt\bsl betweenarrows \{\emph{text}\} {\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]} from \emph{xcoord}$_s$ \emph{ycoord}$_s$ to \emph{xcoord}$_e$ +\emph{ycoord}$_e$}] +\begin{sloppypar} +This command centres \emph{text} between a pair of arrows pointing outwards. +\type{<\emph{xshift},\emph{yshift}>} and \type{[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]} +have the same effect as in the \verb+\put+ command. +(\emph{xcoord}$_s$,\emph{ycoord}$_s$) and (\emph{xcoord}$_e$,\emph{ycoord}$_e$) are the start and end +coordinates of the arrow pair. +Either \emph{xcoord}$_s$ and \emph{xcoord}$_e$ should be the +same, or \emph{ycoord}$_s$ and \emph{ycoord}$_e$ should be the same. +\end{sloppypar} +\item[\tt\bsl circulararc $\theta$ degrees from \emph{xcoord}$_s$ \emph{ycoord}$_s$ center +at \emph{xcoord}$_c$ \emph{ycoord}$_c$] +This command draws an arc of a circle with a centre at (\emph{xcoord}$_c$, +\emph{ycoord}$_c$); the arc starts from (\emph{xcoord}$_s$,\emph{ycoord}$_s$) and extends +anticlockwise through $\theta$ degrees. $\theta$ can have any real value +between -360 and 360. +\item[\tt\bsl Divide <\emph{dividend}> by <\emph{divisor}> forming <\emph{quotient}>] +This is \PiCTeX's division command for dimensions. \emph{dividend} and \emph{divisor} +may be explicit dimensions or dimension registers; \emph{quotient} must be a +dimension register. +\item[\tt\bsl dontsavelinesandcurves] +This command stops \PiCTeX{} from saving plot locations to a file (see +\verb+\savelinesandcurves+). +\item[\tt\bsl ellipticalarc axes ratio $\xi$:$\eta$ $\theta$ degrees from +\emph{xcoord}$_s$ \emph{ycoord}$_s$ center at \emph{xcoord}$_c$ \emph{ycoord}$_c$] +This command draws an arc of an ellipse with a centre at (\emph{xcoord}$_c$, +\emph{ycoord}$_c$); the arc starts from (\emph{xcoord}$_s$,\emph{ycoord}$_s$) and extends +anticlockwise through $\theta$ degrees. $\xi$ and $\eta$ are numbers +proportional to the lengths of the horizontal and vertical axes of the ellipse. +\item[\tt\bsl endpicture] +This command terminates a \PiCTeX{} picture. +\item[\tt\bsl endpicturesave <\emph{xreg},\emph{yreg}>] +This command is used to terminate sub-pictures, saving the left +edge and baseline in \emph{xreg} and \emph{yreg}. +If the subpicture is then \verb+\put+ at (\emph{xcoord},\emph{ycoord}) with the options +`\type{[Bl] <\emph{xreg},\emph{yreg}>}', the reference point of the sub-picture will be +at (\emph{xcoord},\emph{ycoord}). +\item[\tt\bsl findlength \{\emph{curve commands}\}] +\PiCTeX{} executes the curve drawing commands specified and puts the length +into the dimension register \verb+\totalarclength+. This can be used as the +$\lambda$ argument to \verb+\setdotsnear+ and \verb+\setdashesnear+. +\item[{\tt\bsl frame {\rm[}<\emph{separation}>{\rm]} \{\emph{text}\}}] +This command frames \emph{text}, with an optional border of +\emph{separation}. +This command has its normal \LaTeX{} meaning outside of \PiCTeX{} pictures, +but \verb+\pictexframe+ can be used outside of \PiCTeX{} +pictures to get the same effect as \PiCTeX's \verb+\frame+. +\item[\tt\bsl grid \{$c$\} \{$r$\}] +This command partitions the the plot area in to $c$ columns and $r$ rows. +\item[\tt\bsl gridlines] +This command sets the default for the \type{andacross}/\type{butnotacross} +option of the \type{axis} command to be \type{andacross}. +\item[{\tt\linestack[l]{\bsl hshade $y_0$ $x_0^{(l)}$ $x_0^{(r)}$ \ldots\ +{\rm[}<$\epsilon_{l;i}$,$\epsilon_{r;i}$,$\epsilon_{d;i}$,$\epsilon_{u;i}$>{\rm]} +$y_i$ $x_i^{(l)}$ $x_i^{(r)}$ \ldots\ /\\ +\bsl hshade $y_0$ $x_0^{(l)}$ $x_0^{(r)}$ \ldots\ +{\rm[}<$\epsilon_{l;i}$,$\epsilon_{r;i}$,$\epsilon_{d;i}$,$\epsilon_{u;i}$>{\rm]} +$y_{2i-1}$ $x_{2i-1}^{(l)}$ $x_{2i-1}^{(r)}$ $y_{2i}$ $x_{2i}^{(l)}$ +$x_{2i}^{(r)}$ \ldots\ /}}] +This command shades a region with piecewise linear/quadratic left and right +boundaries. Sub-regions are defined by the coordinates ($x_n^{(l)}$,$y_n$), +($x_n^{(r)}$,$y_n$), ($x_{n+1}^{(r)}$,$y_{n+1}$) and +($x_{n+1}^{(l)}$,$y_{n+1}$). +The relations $y_n<y_{n+1}$ and $x_n^{(l)}\leq x_n^{(r)}$ +should hold. For the duration of the shading the optional edge effect field +`\type{<$\epsilon_{l;i}$,$\epsilon_{r;i}$,$\epsilon_{d;i}$,$\epsilon_{u;i}$>}' +overrides the specifications made by \verb+\setshadesymbol+. The second form +should be used when \verb+\setquadratic+ is in effect. +\item[\tt\bsl inboundscheckoff] +This command disables checking whether plot symbols are outside the current +plot area. +\item[\tt\bsl inboundscheckon] +This command enables checking whether plot symbols are outside the current +plot area. +\item[\tt\bsl invisibleaxes] +This command sets the default for the \type{visible}/\type{invisible} +option of the \type{axis} command to be \type{invisible}. +\item[{\tt\linestack[l]{\bsl lines {\rm[}[$o$]{\rm]} \{\emph{line}$_1$\bsl cr +\emph{line}$_2$\bsl cr \ldots\ \}\\ +\bsl Lines {\rm[}[$o$]{\rm]} \{\emph{line}$_1$\bsl cr \emph{line}$_2$\bsl cr \ldots\ \}}}] +These commands produce stacks of lines, spaced normally. The lines will be +left justified if $o$ is `\type{l}', right justified if $o$ is `\type{r}', and +centred otherwise. \verb+\Lines+ is similar to \verb+\lines+, except the +baseline of the stack is the baseline of the top line instead of the baseline +of the bottom line. +\item[\tt\bsl loggedticks] +This command sets the default for the \type{logged}/\type{unlogged} +option of the \type{axis} command to be \type{logged}. +\item[{\tt\linestack[l]{\bsl multiput\{\emph{text}\} +{\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]} at "\emph{file name}"\\ +\bsl multiput \{\emph{text}\} +{\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]} at \ldots\ \emph{xcoord} \emph{ycoord} \ldots\ *$n$ +\emph{dxcoord} \emph{dycoord} \ldots\ /}}] +This command is used to \verb+\put+ copies of the same text at multiple +locations. The text will by put at each (\emph{xcoord},\emph{ycoord}), and at +each ($xcoord+i\cdot dxcoord$,$ycoord+i\cdot dycoord$) for $i$ from 1 to $n$. +\item[\tt\bsl nogridlines] +This command sets the default for the \type{andacross}/\type{butnotacross} +option of the \type{axis} command to be \type{butnotacross}. +\item[\tt\bsl normalgraphs] +This command resets the default \type{axis} options and values for the +axis parameters. +\item[\tt\bsl placehypotenuse for <$\xi$> and <$\eta$> in <$\zeta$>] +This command calculates Euclidean distance $\zeta=\sqrt{\xi^2+\eta^2}$. $\xi$ +and $\eta$ +may be explicit dimensions or dimension registers; $\zeta$ must be a +dimension register. +\item[\tt\bsl placevalueinpts of <\emph{dimension register}> in +\{\emph{control sequence}\}] +This command puts the value of \emph{dimension register}, in points, into +\emph{control sequence}. +\item[{\tt\linestack[l]{\bsl plot "\emph{file name}"\\ +\bsl plot \emph{xcoord}$_0$ \emph{ycoord}$_0$ \emph{xcoord}$_1$ \emph{ycoord}$_1$ \emph{xcoord}$_2$ \emph{ycoord}$_2$ +\ldots\ /}}] +This commands plots the points given (or points from a file, if the first form +is used), in the current \emph{interpolation mode}. The interpolation modes +are selected by the commands \verb+\setbars+, \verb+\sethistograms+, +\verb+\setlinear+ and \verb+\setquadratic+. +\item[\tt\bsl plotheading \{\emph{heading}\}] +This command places \emph{heading} centred above the plot area. +\item[{\tt\bsl put \{\emph{text}\} +{\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]} at \emph{xcoord} \emph{ycoord}}] +This commands places \emph{text} with its enclosing box centred about +(\emph{xcoord},\emph{ycoord}). If $o_x$ is `\type{r}' or `\type{l}' the right or left +edge of the box will be aligned on \emph{xcoord}. If $o_y$ is `\type{t}', +`\type{b}' or `\type{B}', the top, bottom, or baseline will be aligned on +\emph{ycoord}. If \type{<\emph{xshift},\emph{yshift}>} is specified, the object will be +shifted \emph{xshift} right and \emph{yshift} up from where it would otherwise go. +\item[{\tt\bsl putbar {\rm[}<\emph{xshift},\emph{yshift}>{\rm]} breadth <$\beta$> from +\emph{xcoord}$_s$ \emph{ycoord}$_s$ to \emph{xcoord}$_e$ \emph{ycoord}$_e$}] +This command draws a rectangle which has (\emph{xcoord}$_s$,\emph{ycoord}$_s$) and +(\emph{xcoord}$_e$,\emph{ycoord}$_e$) as the mid-points of opposite sides of length $\beta$. +Either \emph{xcoord}$_s$ and \emph{xcoord}$_e$ should be the +same, or \emph{ycoord}$_s$ and \emph{ycoord}$_e$ should be the same. +\type{<\emph{xshift},\emph{yshift}>} has the same effect as in the \verb+\put+ command. +\item[{\tt\bsl putrectangle {\rm[}<\emph{xshift},\emph{yshift}>{\rm]} corners at +\emph{xcoord}$_s$ \emph{ycoord}$_s$ and \emph{xcoord}$_e$ \emph{ycoord}$_e$}] +This command draws a rectangle with opposite corners at the points +(\emph{xcoord}$_s$,\emph{ycoord}$_s$) and (\emph{xcoord}$_e$,\emph{ycoord}$_e$). +\item[{\tt\bsl putrule {\rm[}<\emph{xshift},\emph{yshift}>{\rm]} from +\emph{xcoord}$_s$ \emph{ycoord}$_s$ to \emph{xcoord}$_e$ \emph{ycoord}$_e$}] +This command draws a rule from the point +(\emph{xcoord}$_s$,\emph{ycoord}$_s$) to the point (\emph{xcoord}$_e$,\emph{ycoord}$_e$), with breadth +\verb+\linethickness+. +Either \emph{xcoord}$_s$ and \emph{xcoord}$_e$ should be the +same, or \emph{ycoord}$_s$ and \emph{ycoord}$_e$ should be the same. +\type{<\emph{xshift},\emph{yshift}>} has the same effect as in the \verb+\put+ command. +\item[\tt\bsl rectangle <$w$> <$h$>] +This command draws a rectangle of width $w$ and height $h$, with its baseline +on its bottom edge. +\item[\tt\bsl replot "\emph{file name}"] +This command replots lines and curves which were saved to a file by +\verb+\savelinesandcurves+. +\item[\tt\bsl savelinesandcurves on "\emph{file name}"] +This command writes out the locations at which it places plot symbols while +plotting lines (not rules) and curves. +\item[{\tt\linestack[l]{\bsl setbars {\rm[}<\emph{xshift},\emph{yshift}>{\rm]} breadth +<$\beta$> at $z$ = \emph{zcoord}\\ +\quad{\rm[}baselabels ({\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]}){\rm]}\\ +\quad{\rm[}endlabels ({\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]}){\rm]}}}] +This command sets the interpolation mode to bar plotting mode. If $z$ is +`\type{x}', the bars start from $x=zcoord$ and extend horizontally, and if $z$ +is `\type{y}', the bars start from $y=zcoord$ and extend vertically. +\type{<\emph{xshift},\emph{yshift}>} has the same effect as in the \verb+\put+ command. +Labels can be attached to the bases of the bars with the \type{baselabels} +option. Each coordinate specification in the \verb+\plot+ command should be +followed by the appropriate label, enclosed in quotation marks. The +orientation and shifts may be used to adjust the label position. +Labels can similarly be attached to the ends of the bars with the +\type{endlabels} +option. +\item[\tt\bsl setcoordinatemode] +This command cancels \verb+\setdimensionmode+. +\item[{\tt\bsl setcoordinatesystem {\rm[}units <\emph{xunit},\emph{yunit}>{\rm]} {\rm[} +point at \emph{xcoord} \emph{ycoord}{\rm]}}] +This command redefines the coordinate system in use. \emph{xunit} is the size of +one unit on the $x$-axis, \emph{yunit} is the size of one unit on the $y$-axis. The +\type{point} option sets the reference point for the coordinate system. The +reference points of all of the coordinate systems in a picture are aligned by +\PiCTeX. +\item[{\tt\bsl setdashes {\rm[}<$\ell$>{\rm]}}] +This command resets the line pattern to be dashes of length $\ell$ followed by +gaps of length $\ell$. +\item[\tt\bsl setdashesnear <$\ell$> for <$\lambda$>] +This command sets the line pattern to be dashes of about length $\ell$, so +that a line of length $\lambda$ starts and ends with a complete dash. +\item[\tt\bsl setdashpattern <$d_1$,$g_1$,$d_2$,$g_2$,\ldots>] +This command resets the line pattern to be a dash of length $d_1$ followed by +a gap of length $g_1$, followed by a dash of length $d_2$, followed by a gap +of length $g_2$, etc. +\item[\tt\bsl setdimensionmode] +This command sets dimension mode; each location in this mode should be +specified by the absolute distance horizontally and vertically from the +origin, as dimensions. +\item[{\tt\bsl setdots {\rm[}<$\ell$>{\rm]}}] +This command resets the line pattern to be dots spaced distance $\ell$ apart. +\item[\tt\bsl setdotsnear <$\ell$> for <$\lambda$>] +This command sets the line pattern to be dots spaced about distance $\ell$ +apart, so +that a line of length $\lambda$ starts and ends with a dot. +\item[\tt\bsl sethistograms] +This command sets the interpolation mode to histogram mode. In this mode, +\verb+\plot+ plots histograms composed of rectangles with corners at +(\emph{xcoord}$_0$,\emph{ycoord}$_0$) and (\emph{xcoord}$_1$,\emph{ycoord}$_1$), (\emph{xcoord}$_1$,\emph{ycoord}$_0$) +and (\emph{xcoord}$_2$,\emph{ycoord}$_2$), etc. +\item[\tt\bsl setlinear] +This command sets the interpolation mode to linear mode. In this mode, +\verb+\plot+ draws straight lines between coordinates. +\item[\tt\bsl setplotarea x from \emph{xcoord}$_l$ to \emph{xcoord}$_r$, y from \emph{ycoord}$_b$ +to \emph{ycoord}$_t$] +\begin{sloppypar} +This command sets the current plot area to be a rectangle from +(\emph{xcoord}$_l$,\emph{ycoord}$_b$) to (\emph{xcoord}$_r$,\emph{ycoord}$_t$). +\end{sloppypar} +\item[{\tt\bsl setplotsymbol (\{\emph{plot symbol}\} +{\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]})}] +This command sets the symbol which is used to make lines and curves to be +\emph{plot symbol}. +\type{<\emph{xshift},\emph{yshift}>} and \type{[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]} +have the same effect as in the \verb+\put+ command. +\item[\tt\bsl setquadratic] +This command sets the interpolation mode to be quadratic mode. In this mode, +quadratic arcs are drawn through the \verb+\plot+ coordinates. +\item[{\tt\bsl setshadegrid {\rm[}span <$s$>{\rm]} {\rm[}point at \emph{xcoord} +\emph{ycoord}{\rm]}}] +This command resets the anchor point of the grid used for shading to be +(\emph{xcoord},\emph{ycoord}), and the size of the grid to be $s$. +\item[{\tt\bsl setshadesymbol +{\rm[}<$\epsilon_{l}$,$\epsilon_{r}$,$\epsilon_{d}$,$\epsilon_{u}$>{\rm]} +(\{\emph{shade symbol}\} +{\rm[}[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]{\rm]} +{\rm[}<\emph{xshift},\emph{yshift}>{\rm]})}] +This command resets the symbol used to shade areas to be \emph{shade symbol}. +The optional `edge effects' field +\type{<$\epsilon_{l}$,$\epsilon_{r}$,$\epsilon_{d}$,$\epsilon_{u}$>} +specifies the distances from the left, right, bottom and top edges within +which the shade symbol will \emph{not} be placed. 0pt may be specified by +`\type{z}'. +\type{<\emph{xshift},\emph{yshift}>} and \type{[{\rm[}$o_x${\rm]}{\rm[}$o_y${\rm]}]} +have the same effect as in the \verb+\put+ command. +\item[\tt\bsl setsolid] +This command restores the line pattern to draw solid lines. +\item[\tt\bsl shaderectanglesoff] +This command cancels \verb+\shaderectangleson+. +\item[\tt\bsl shaderectangleson] +This command causes all rectangles plotted by \PiCTeX{} to be shaded +automatically. +\item[{\tt\bsl stack {\rm[}[$o$]{\rm]} +{\rm[}<\emph{leading}>{\rm]}\{\emph{list}\}}] +This command stacks textual items vertically. \emph{list} is a list of items +to be stacked, from top to bottom, separated by commas. Items are left +justified if $o$ is `\type{l}', right justified if $o$ is `\type{r}', and +centred otherwise. \emph{leading} is the distance separating the enclosing +boxes of the items in the stack. The baseline of the stack is the baseline of +the bottom item. +\item[{\tt\bsl startrotation {\rm[}by $\cos(\theta)$ $\sin(\theta)${\rm]} +{\rm[}about $x_p$ $y_p${\rm]}}] +This command causes \PiCTeX{} to rotate lines, curves, shading patterns, and +\verb+\put+ coordinates by $\theta$ degrees anticlockwise around the point +($x_p$,$y_p$). The rotation lasts until a \verb+\stoprotation+, or until the +enclosing group ends. +\item[\tt\bsl stoprotation] +This command cancels any rotation in effect. +\item[\tt\bsl ticksin] +This command sets the default for the \type{in}/\type{out} +option of the \type{axis} command to be \type{in}. +\item[\tt\bsl ticksout] +This command sets the default for the \type{in}/\type{out} +option of the \type{axis} command to be \type{out}. +\item[\tt\bsl unloggedticks] +This command sets the default for the \type{logged}/\type{unlogged} +option of the \type{axis} command to be \type{unlogged}. +\item[\tt\bsl visibleaxes] +This command sets the default for the \type{visible}/\type{invisible} +option of the \type{axis} command to be \type{visible}. +\item[{\tt\linestack[l]{\bsl vshade $x_0$ $y_0^{(b)}$ $y_0^{(t)}$ \ldots\ +{\rm[}<$\epsilon_{l;i}$,$\epsilon_{r;i}$,$\epsilon_{d;i}$,$\epsilon_{u;i}$>{\rm]} +$x_i$ $y_i^{(b)}$ $y_i^{(t)}$ \ldots\ /\\ +\bsl vshade $x_0$ $y_0^{(b)}$ $y_0^{(t)}$ \ldots\ +{\rm[}<$\epsilon_{l;i}$,$\epsilon_{r;i}$,$\epsilon_{d;i}$,$\epsilon_{u;i}$>{\rm]} +$x_{2i-1}$ $y_{2i-1}^{(b)}$ $y_{2i-1}^{(t)}$ $x_{2i}$ $y_{2i}^{(b)}$ +$y_{2i}^{(t)}$ \ldots\ /}}] +This command shades a region with piecewise linear/quadratic bottom and top +boundaries. Sub-regions are defined by the coordinates ($x_n$,$y_n^{(b)}$), +($x_n$,$y_n^{(t)}$), ($x_{n+1}$,$y_{n+1}^{(t)}$) and +($x_{n+1}$,$y_{n+1}^{(b)}$). +The relations $x_n<x_{n+1}$ and $y_n^{(b)}\leq y_n^{(t)}$ +should hold. For the duration of the shading the optional edge effect field +`\type{<$\epsilon_{l;i}$,$\epsilon_{r;i}$,$\epsilon_{d;i}$,$\epsilon_{u;i}$>}' +overrides the specifications made by \verb+\setshadesymbol+. The second form +should be used when \verb+\setquadratic+ is in effect. +\item[\tt\bsl writesavefile \{\emph{message}\}] +\begin{sloppypar} +This command writes out the text \emph{message} on the file specified by the +most recent \verb+\savelinesandcurves+ command. +\end{sloppypar} +\item[\tt\bsl Xdistance\{\emph{xcoord}\}] +This command is used to get the horizontal distance from the point \emph{xcoord} in +the current coordinate system to the origin. +\item[\tt\bsl Ydistance\{\emph{ycoord}\}] +This command is used to get the vertical distance from the point \emph{ycoord} in +the current coordinate system to the origin. +\end{syntax} + +\section{Parameters} +The parameters which can be altered to change \PiCTeX's behaviour are: +\begin{syntax} +\item[\tt\bsl headingtoplotskip] +This is the distance between the baseline of the heading and the top of the +plot area, or the top of the top axis structure. +\item[\tt\bsl linethickness] +This parameter is the default thickness of axes, tick marks, and grid lines. +This control sequence has its normal \LaTeX{} meaning outside of \PiCTeX{} +pictures, +but \verb+\pictexlinethickness+ can be used outside of \PiCTeX{} +pictures to get the same effect as \PiCTeX's \verb+\linethickness+. +\item[\tt\bsl longticklength] +This is the default length of long ticks. +\item[\tt\bsl plotsymbolspacing] +This parameter defines the distance between plotted symbols in lines and +curves. +\item[\tt\bsl shortticklength] +This is the default length of short ticks. +\item[\tt\bsl stackleading] +This is the default space put between items in a \type{stack}. +\item[\tt\bsl tickstovaluesleading] +This parameter defines the distance separating the ticks and the box enclosing +the tick values. +\item[\tt\bsl totalarclength] +This register in general contains the length of the last line or curve. +\item[\tt\bsl valuestolabelleading] +This is the distance separating the box enclosing the tick values and the box +enclosing the axis label. +\end{syntax} + +\section{Miscellaneous} +A couple of extra commands are provided by \PiCTeX{} for formatting names: +\begin{syntax} +\item[\tt\bsl PiC] +This command produces `\PiC'. +\item[\tt\bsl PiCTeX] +This command produces `\PiCTeX'. +\end{syntax} + + + +\end{document} |