%%% File: refcard.tex
%%% A part of mfpic 0.6 2002/09/12
%%%
\newdimen\paperheight
\newdimen\paperwidth
%%!!!!!!!!!!!!!
% change these:
%(Set \paperheight always to the longer dimension.
% Ask your driver to print so that longer dimension is horizontal)
\paperheight 11truein
\paperwidth 8.5truein
\ifx\pdfoutput\UndEfInEd
\else\ifx   \pdfoutput\relax
\else\ifnum \pdfoutput>0
    \pdfpageheight\paperwidth %Choose Landscape in Reader's print dialog
    \pdfpagewidth\paperheight
\fi\fi\fi

\font\manual=cmcsc8
\def\MF{{\manual meta}\-{\manual font}}
\def\MP{{\manual meta}\-{\manual post}}
\def\TeX{{\rm T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\null}}
\def\plainTeX{{\rm plain\kern -.15em\TeX}}
\def\LaTeX{{\rm L\raise.42ex\hbox{\kern-.36em \manual a}\kern-.15em\TeX}}
\def\LaTeXe{\LaTeX$2_{\textstyle\varepsilon}$}
\def\gobble#1{}
\def\dooptparam[#1]{{\tt[#1]}\futurelet\nchr\domacro}
\def\dofixparam[#1]{{\tt\string{#1\string}}\futurelet\nchr\domacro}
\def\doparamswap{\if?\nchr\dooptparam[\expandafter\gobble
  \else\dofixparam[\fi}
\def\doparam{\futurelet\nchr\doparamswap}
\def\ddoparam{\expandafter\doparam\gobble}
\def\domacro{\if[\nchr\expandafter\ddoparam\fi}
\def\bsl{{\tt\char\escapechar}}
\def\mac#1{\bsl{\tt#1}\futurelet\nchr\domacro}

% logical markup to typeset filenames, program names, MF code,
% grafbase identifiers, environment names, email addresses, and
% emphasis.
\def\file#1{{\tt #1}}
\def\prog#1{{\sf #1}} % didn't want everything in \tt
\def\mfc#1{{\tt #1}}
\def\opt#1{{\tt #1}}  % LaTeX2e option names
\def\gbc#1{{\tt #1}}
\def\env#1{{\tt #1}}
\def\mail#1{{\tt #1}}
\def\emph#1{{\it #1\/}}

% Forced, Clean, Linebreak.

\def\brk{\nobreak\hfil\break}

\newcount\columnsperpage

% Entries are too wide for 3 columns.  Print 2 columns landscape
\columnsperpage=2

% The rest of this header is nicked from gnuplot (which took it from
% Emacs) but was drastically adapted for mfpic.

% This file is intended to be processed by plainTeX.
%
%    You will need to inform your dvi driver to print it in landscape
%    and, optionally, double sided.
% Author of GNU Emacs Refcard:
%  Stephen Gildea
%  UUCP: mit-erl!gildea
%  Internet: gildea@erl.mit.edu
%
% Person who ripped off the formatter for gnuplot:
%  Alex Woo
%  NASA Ames Research Center
%  Internet: woo@ames.arc.nasa.gov
%
% Modified on 9 Dec 1992 by:
%  Daniel S. Lewart
%  University of Illinois
%  Internet: d-lewart@uiuc.edu
%
% Modified on 29 Sep 1999, 11 Jul 2002 (for mfpic) by:
%  Daniel H. Luecking
%  University of Arkansas
%  luecking@uark.edu

\newdimen\intercolumnskip
\newbox\columna
\newbox\columnb

\def\scaledmag#1{ scaled \magstep #1}

\hsize \paperheight
\advance\hsize -1.5truein  % half inch margins and half inch intercolumn
\divide\hsize by 2

\vsize \paperwidth
\advance\vsize -1.0truein  % half inch top and bottom
\hoffset -0.5truein
\voffset -0.5truein

\topskip8truept

\font\manual=cmcsc10 at 8pt
\font\titlefont=cmbx10 \scaledmag1
\font\headingfont=cmbx10
\font\smallfont=cmr6
\font\smallsy=cmsy6
\font\eighti=cmmi8
\font\sixi=cmmi6
\font\eightex=cmex10 at 8pt
\font\eightrm=cmr8
\font\eightbf=cmbx8
\font\sixbf=cmbx6
\font\eightit=cmti8
\font\eighttt=cmtt8
\font\eightsy=cmsy8
\font\sixsy=cmsy6
\font\eightsf=cmss10 at 8pt
\font\eightsl=cmsl8
\font\tensf=cmss10
\textfont0=\eightrm \scriptfont0=\smallfont
\textfont1=\eighti \scriptfont1=\sixi
\textfont2=\eightsy \scriptfont2=\sixsy
\textfont3=\eightex \scriptfont3=\eightex \scriptscriptfont3=\eightex
\textfont\bffam\eightbf \scriptfont\bffam\sixbf
\def\rm{\fam0\eightrm}
\def\bf{\fam\bffam\eightbf}
\def\it{\eightit}
\def\tt{\eighttt}
\def\sf{\eightsf}
\def\sl{\eightsl}
\smallskipamount 2pt plus 1pt minus 0pt
\medskipamount 5pt plus 2pt minus 2pt
\bigskipamount 10pt plus 3pt minus 3pt
\normalbaselineskip=10pt
\normalbaselines
\rm
\setbox\strutbox=\hbox{\vrule height6.8pt depth3.2pt width0pt}

\intercolumnskip=.5truein
\def\abc{a}
\output={%
    \if b\abc \multicolumnformat \global\def\abc{a}
    \else\if a\abc
      \global\setbox\columna\columnbox \global\def\abc{b}
      \global\setbox\columnb\hbox to -\intercolumnskip{}
    \fi\fi}
\def\multicolumnformat{\shipout\vbox{%
    \hbox{\box\columna\hskip\intercolumnskip
      \box\columnb\hskip\intercolumnskip\columnbox}}\advancepageno}
\def\columnbox{\leftline{\pagebody}}

\def\bye{\par\vfill\supereject
  \if a\abc \else\null\vfill\eject\fi
  \if a\abc \else\null\vfill\eject\fi
  \end}

% Typewriter type braces (redefinitions of escaped braces) :
\def\{%}
{{\tt \char`\{%}
}}
%{
\def\}{{\tt %{
\char`\}%
}}


\parindent 0pt

\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}

\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}

\newlinechar`^^J
\outer\def\section#1{\par\filbreak %\message{Section: #1^^J}%
  \vskip 2.5ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
  \vskip 1.5ex plus 1ex minus 1.5ex}

\newdimen\describeindent

\def\beginindentedkeys{\describeindent=1em}
\def\endindentedkeys{\describeindent=0em}
\endindentedkeys

\def\var#1{$\langle${\it #1\/}$\rangle$}
\def\alt{\unskip$\;|\;$\hfilbreak}
\def\hfilbreak{\hfil\allowbreak\hfilneg}

\newdimen\secondkeyindent


\def\describe#1#2{\leavevmode\vtop
  {\hsize=\firstkeyfrac\hsize\rightskip=1em plus 1 fill\relax
   \secondkeyindent\describeindent \advance\secondkeyindent 1em
   \hangindent\secondkeyindent \hangafter1
   \hskip\describeindent\relax\strut#1\nobreak\hskip0pt\strut}%
   \vtop
  {\hsize=\secondkeyfrac\hsize\rightskip=0pt plus 1 fill\relax
   \leavevmode\strut#2\unskip\strut}\par}
\def\code#1{{\sf #1}}
%\overfullrule 0pt
%**end of header

\title{MFPIC Quick Reference}

\centerline{(Copyright 2000,2001 by Daniel Luecking)}
\medskip
This information was prepared for version 0.6 of \prog{mfpic}.

\section{Preamble commands}

\def\firstkeyfrac{.4}
\def\secondkeyfrac{.6}

\describe{Load \prog{mfpic} package:}
        {\mac{input} \file{mfpic}, or \mac{usepackage}[?\var{options}][mfpic]}
\describe{Options}{\opt{metafont} \alt \opt{metapost}, \opt{mplabels},
         \opt{centeredcaptions}, \opt{clip}, \opt{truebbox},
         \opt{draft}, \opt{final}, \opt{nowrite}}
\describe{Activate options (\plainTeX)}
        {\mac{usemetafont} \alt \mac{usemetapost},
         \mac{usemplabels}, \mac{usecenteredcaptions},
         \mac{clipmfpic}, \mac{usetruebbox}, \mac{mfpicdraft},
         \mac{mfpicfinal}, \mac{mfpicnowrite}}
\describe{Turn off some options}
        {\mac{nomplabels}, \mac{nocenteredcaptions}, \mac{noclipmfpic},
        \mac{notruebbox}}
\describe{Set up/close the output file}
        {\mac{opengraphsfile}[\var{base name}]$\ldots$\mac{closegraphsfile}}

\section{The {\tensf mfpic} environment}

\def\firstkeyfrac{.30}
\def\secondkeyfrac{.70}

\describe{Start an \prog{mfpic} figure}
    {\mac{mfpic}[?\var{xscale}][?\var{yscale}]%
    \{\var{$x_{\min}$}\}\allowbreak\{\var{$x_{ max}$}\}\allowbreak
    \{\var{$y_{min}$}\}\allowbreak\{\var{$y_{max}$}\}\brk
    \var{MFpic commands}\brk
    \mac{endmfpic}}
\describe{\quad\LaTeX{} (optional)}
        {\mac{begin}[mfpic]${}\equiv{}$\mac{mfpic},
          \mac{end}[mfpic]${}\equiv{}$\mac{endmfpic}}

\medskip
The default \var{xscale} is $1$ (\mac{mfpicunit}), default \var{yscale}
is \var{xscale}.

\section{Dimensions}

\def\firstkeyfrac{.58}
\def\secondkeyfrac{.42}

The following are dimensions (lengths). These can be set with standard
syntax, including \LaTeX's \mac{setlength}

\smallskip
\describe{\sl Purpose; where used:} {\sl Name and default value:}
\vskip1pt
\describe{Unit of length; \mac{mfpic}} {\mac{mfpicunit}, \tt 1pt}
\describe{Size of a symbol; \mac{point}, \mac{plot}, and \mac{plotsymbol}}
        {\mac{pointsize}, \tt 2pt}
\describe{Darkness of shading; \mac{shade}} {\mac{shadespace}, \tt 1pt }
\describe{Space between dots; \mac{polkadot}}
    {\mac{polkadotspace}, \tt 10pt}
\describe{Space between hatch lines; hatching macros}
    {\mac{hatchspace}, \tt 3pt}
\describe{Size of arrowhead; \mac{arrow}} {\mac{headlen}, \tt 3pt}
\describe{Size of x-, y-axis arrowhead; xy-axes macros}
    {\mac{axisheadlen}, \tt 5pt}
\describe{Size of border axis arrowhead; side axis macros}
    {\mac{sideheadlen}, \tt 0pt}
\describe{Size of marks on axes; axis marks} {\mac{hashlen}, \tt 4pt}
\describe{Size of dashes; \mac{dashed}} {\mac{dashlen}, \tt 4pt}
\describe{Space between dashes; \mac{dashed}} {\mac{dashspace}, \tt 4pt}
\describe{Size of dots; \mac{dotted}} {\mac{dotsize}, \tt 0.5pt}
\describe{Space between dots; \mac{dotted}} {\mac{dotspace}, 3pt}
\describe{Space between symbols; \mac{plot}} {\mac{symbolspace}, \tt 5pt}

\medskip
The following commands are used to change the size of some dimension
parameters:

\smallskip
\describe{\sl Purpose (default):} {\sl Command:}
\vskip1pt
\describe{Set diameter of drawing pen ({\tt 0.5pt})}
        {\mac{penwd}[\var{dimen}]}
\describe{Set diameter of shading dots ({\tt 0.5pt})}
        {\mac{shadewd}[\var{dimen}]}
\describe{Set diameter of polkadot ({\tt 5pt})}
        {\mac{polkadotwd}[\var{dimen}]}
\describe{Set diameter of hatching pen ({\tt 0.5pt})}
        {\mac{hatchwd}[\var{dimen}]}
\describe{Multiply \mac{shadespace} by 1.2} {\mac{lightershade}}
\describe{Divide \mac{shadespace} by 1.2} {\mac{darkershade}}


\section{Colors (metapost option only)}

\def\firstkeyfrac{.45}
\def\secondkeyfrac{.55}

\smallskip
\describe{Set color for curves} {\mac{drawcolor}[\var{color}]}
\describe{Set color for fills} {\mac{fillcolor}[\var{color}]}
\describe{Set color for hatching} {\mac{hatchcolor}[\var{color}]}
\describe{Set color for arrowheads} {\mac{headcolor}[\var{color}]}
\describe{Set color for tlabels} {\mac{tlabelcolor}[\var{color}]}
\describe{Set color used by \mac{gclear}} {\mac{backgroundcolor}[\var{color}]}
\describe{\quad \LaTeX{} syntax}
        {\mac{drawcolor}[?\var{model}][\var{clrspec}], etc.}
\describe{Define a color name} {\mac{mfpdefinecolor}[\var{name}][\var{model}][\var{clrspec}]}

\smallskip
\var{color} may be a \MP{} color expression or a named color. Supported
models for the \LaTeX{} syntax are {\tt rgb}, {\tt RGB}, {\tt cmyk}, {\tt
gray} and {\tt named}. Predefined color names are \mfc{red},
\mfc{green}, \mfc{blue}, \mfc{cyan}, \mfc{magenta}, \mfc{yellow},
\mfc{white}, and \mfc{black}. Plus all the names in \file{dvipsnam.mp}.

\section{Points}

\def\firstkeyfrac{.42}
\def\secondkeyfrac{.58}

\describe{Place a symbol at given point(s)}
        {\mac{plotsymbol}[?\var{size}][\var{name}]%
         [($x_0,y_0$),($x_1,y_1$),$\ldots$]}
\describe{\quad Available symbol names} {{\tt Triangle}, {\tt Square}, {\tt Circle}, {\tt
        Diamond}, {\tt Star}, {\tt SolidTriangle}, {\tt SolidSquare}, {\tt SolidCircle},
        {\tt SolidDiamond}, \tt{SolidStar}, {\tt Plus}, {\tt Cross},
        {\tt Asterisk}}
\describe{Abbreviations for circles}
        {\mac{point}[?\var{size}][($x_0,y_0$),($x_1,y_1$),$\ldots$]}
\describe{Force filled/open circles in \mac{point}:}
        {\mac{pointfilltrue}/\mac{pointfillfalse}}

\section{Straight Lines}

\def\firstkeyfrac{.45}
\def\secondkeyfrac{.55}

\describe{Connect points with lines}
        {\mac{polyline}[($x_0,y_0$),($x_1,y_1$),$\ldots$],
         or (\mac{lines})}
\describe{Closed polygon}
        {\mac{polygon}[($x_0,y_0$),($x_1,y_1$),$\ldots$]}
\describe{Concatenate vectors}
        {\mac{turtle}[\var{initialpoint},\var{$v_1$},\var{$v_2$},$\ldots$]}


\def\firstkeyfrac{.42}
\def\secondkeyfrac{.58}

\section{Common geometric shapes}

\def\firstkeyfrac{.55}
\def\secondkeyfrac{.45}

\describe{Rectangle with corners $(x_0,y_0)$, $(x_1,y_1)$}
        {\mac{rect}[($x_0,y_0$),($x_1,y_1$)]}
\describe{Circle, center $(x_0,y_0)$, radius \var{r}}
        {\mac{circle}[($x_0,y_0$),\var{r}]}
\describe{Ellipse, center $(x_0,y_0)$, radii \var{$r_x$}, \var{$r_y$}, angle
\var{$\theta$}}
        {\mac{ellipse}[?\var{$\theta$}]
         \tt\{($x_0,y_0$),\var{$r_x$},\var{$r_y$}\}}
\describe{Arcs} {}
\describe{\qquad point-sweep form:}
        {\mac{arc}[?s][($x_0,y_0$),($x_1,y_1$),\var{angle}],\brk
         \quad or \mac{arc}[($x_0,y_0$),($x_1,y_1$),\var{angle}]}
\describe{\qquad three-point form:}
        {\mac{arc}[?t][($x_0,y_0$),($x_1,y_1$),($x_2,y_2$)]}
\describe{\qquad polar form:}
{\mac{arc}[?p][\var{center},\var{$\theta_1$},\var{$\theta_2$},\var{radius}]}
\describe{\qquad center-point-angle form:}
        {\mac{arc}[?c][\var{center},\var{point},\var{angle}]}

\section{General curves}

\def\firstkeyfrac{.45}
\def\secondkeyfrac{.55}

Curves need not be closed, even if the starting and ending points are
equal (see ``Regions''). A \var{spec} can be {\tt p} (for polyline) or
{\tt s} (for smooth) followed by a number for the tension. Higher values
of tension (normally 1.0) make the segments of a curve straighter.

\smallskip
\describe{Smooth curve through points}
        {\mac{curve}[?\var{tension}][($x_0,y_0$),($x_1,y_1$),$\ldots$]}
\describe{Graph of $y=f(x)$}
        {\mac{function}[?\var{spec}][$x_{\min}$,$x_{\max}$,%
         $\Delta x$][$f(\hbox{\tt x})$]}
\describe{Graph of parametric curve $(x(t),y(t))$}
        {\mac{parafcn}[?\var{spec}][$t_{\min}$,$t_{\max}$,$\Delta t$]%
         [($x(\hbox{\tt t})$, $y(\hbox{\tt t})$)]}
\describe{Graph of $r = f(\theta)$}
        {\mac{plrfcn}[?\var{spec}]%
        [$\theta_{\min}$,$\theta_{\max}$,$\Delta\theta$][$f(\hbox{\tt t})$]}
\describe{Interpolate with a smooth {\it function}}
        {\mac{fcncurve}[?\var{tension}][($x_0,y_0$),($x_1,y_1$),$\ldots$]}
\describe{Curve from data in a file*}
        {\mac{datafile}[?\var{spec}][\var{file}]}
\describe{\quad Set how \mac{datafile} processes a line}
        {\mac{using}[\var{read\_pattern}][\var{write\_pattern}]\brk
        Default is \mac{using}[\#1 \#2 \#3][(\#1,\#2)]}

\smallskip
All drawing commands (not text) that operate on a list of points in
braces may be followed by \mac{datafile}[\var{filename}] instead of the
list, where \var{filename} contains the points as data.

\section{Regions}

\def\firstkeyfrac{.45}
\def\secondkeyfrac{.55}

The following, plus \mac{polygon}, \mac{rect}, \mac{circle},
and \mac{ellipse} are closed. Other curves need a closure prefix (see
``Closing a curve'').
A \var{spec} is as in the previous section.

\smallskip
\describe{Closed curve through given points}
        {\mac{cyclic}[?\var{tension}][$(x_1,y_1),(x_2,y_2),\ldots$]}
\describe{Circular sector (pie slice)}
        {\mac{sector}[\var{center},\var{radius},\var{$\theta_1$},
         \var{$\theta_2$}]}
\describe{Region between two functions} {\mac{btwnfcn}[?\var{spec}][$x_{\min}$,%
         $x_{\max}$,$\Delta x$][$f(\hbox{\tt x})$][$g(\hbox{\tt x})$]}
\describe{Region in polar coordinates}
        {\mac{plrregion}[?\var{spec}][$\theta_{\min}$,$\theta_{\max}$,%
        $\Delta \theta$][$f(\hbox{\tt t})$]}
\describe{Curves surrounding text}
        {\mac{tlabelrect}[?\var{radius}]{\tt(\var{x},\var{y})\{\var{text}\}}\brk
         \mac{tlabeloval}[?\var{mult}]{\tt(\var{x},\var{y})\{\var{text}\}}\brk
         \mac{tlabelellipse}[?\var{ratio}]{\tt(\var{x},\var{y})\{\var{text}\}}\brk
         \var{radius}: round corners. \var{mult}: stretch horizontally.
         \var{ratio}: width/height of ellipse}
\section{Prefix macros}

The prefix macros can change the way a curve is drawn, cause it to
be filled, etc.

\section{Drawing curves}

\def\firstkeyfrac{.4}
\def\secondkeyfrac{.6}

\describe{Dashed path}{\mac{dashed}[?\var{length},\var{gap}]$\ldots$}
\describe{Dotted path}{\mac{dotted}[?\var{size},\var{gap}]$\ldots$}
\describe{Trace a path with symbols}
        {\mac{plot}[?\var{size},\var{gap}][\var{symbol}]$\ldots$}
\describe{Generalized dashes}{\mac{gendashed}[\var{patname}]$\ldots$%,
        %\var{name} is the name of a pattern
}
\describe{\quad Define a named dash pattern}
        {\mac{dashpattern}[\var{patname}][\var{len$_1$},\var{len$_2$},$\ldots$,%
            \var{len$_{2n}$}]}
\describe{Place a symbol at all nodes}
        {\mac{plotnodes}[?\var{size}][\var{symbol}]}
\describe{Solid curve*}{\mac{draw}[?\var{color}]$\ldots$}

\smallskip
* Curves without a prefix are always drawn with solid lines, the filling
prefixes (see ``Filling closed curves'') turn off drawing, and the
\mac{draw} prefix may then be needed.

\section{Closing a curve}

\def\firstkeyfrac{.4}
\def\secondkeyfrac{.6}

\describe{\rlap{Turning an otherwise open curve to a closed one}}{}
\describe{\quad with a straight line,}{\mac{lclosed}}
\describe{\quad with a B\'ezier curve,}{\mac{bclosed}}
\describe{\quad with a cubic B-spline,}{\mac{cbclosed}}
\describe{\quad letting \MF{} choose*.}{\mac{sclosed}, \mac{uclosed}}

\smallskip
* \MF{} re-adjusts the whole path when picking optimal joins,
\mac{uclosed} prevents this.

\section{Filling closed curves}

\def\firstkeyfrac{.4}
\def\secondkeyfrac{.6}

These filling prefixes turn off drawing of the curve.

\smallskip
\describe{Solid fill} {\mac{gfill}[?\var{color}]$\ldots$}
\describe{Unfill} {\mac{gclear}$\ldots$}
\describe{Hatched fills}
        {\mac{thatch}[?\var{space},\var{angle}][?\var{color}]$\ldots$}
\describe{\qquad \var{angle}${}=45\,$deg}
        {\mac{rhatch}[?\var{space}][?\var{color}]}
\describe{\qquad \var{angle}${}=-45\,$deg}
        {\mac{lhatch}[?\var{space}][?\var{color}]}
\describe{\qquad crosshatching}
        {\mac{xhatch}[?\var{space}][?\var{color}]}
\describe{}  {\mac{hatch} $=$ \mac{xhatch}}
\describe{Shading}
        {\mac{shade}[?\var{space}]$\ldots$}
\describe{Polkadot fill}{\mac{polkadot}[?\var{space}]$\ldots$}
\describe{Fill with copies of a tile} {\mac{tess}[\var{tile}]$\ldots$}
\describe{\quad Define a tile*} {\mac{tile}[\var{name},\var{unit},\var{width},\var{height},\var{clip}]
        \var{drawing commands} \mac{endtile}}
\smallskip
* Creates a mini-mfpic, clipped if \var{clip}${}={}${\tt true}.

\section{Modifying a curve}

\def\firstkeyfrac{.4}
\def\secondkeyfrac{.6}

\describe{Add arrowhead to the end}
        {\mac{arrow}[?l\var{length}][?r\var{angle}]%
         [?b\var{backset}][?c\var{color}]$\ldots$}
\describe{\quad Define arrowhead shape}
        {\mac{headshape}[\var{ratio}][\var{tension}][\var{filled}]}
\describe{Reverse a curve} {\mac{reverse}$\ldots$}
\describe{Double arrow} {\mac{arrow}\mac{reverse}\mac{arrow}$\ldots$}
\describe{Rotate around a point} {\mac{rotatepath}[($x_0$,$y_0$),\var{angle}]$\ldots$}
\describe{Reflect about a line} {\mac{reflectpath}[($x_0$,$y_0$),($x_1$,$y_1$)]$\ldots$}
\describe{Shift} {\mac{shiftpath}[($dx$,$dy$)]$\ldots$}
\describe{Scale around a point} {\mac{scalepath}[($x_0$,$y_0$),\var{scale}]$\ldots$}
\describe{xscale about line $x=x_0$} {\mac{xscalepath}[$x_0$,\var{scale}]$\ldots$}
\describe{yscale about line $y=y_0$} {\mac{yscalepath}[$y_0$,\var{scale}]$\ldots$}
\describe{slant, pivoting on line $y=y_0$} {\mac{slantpath}[$y_0$,\var{slant}]$\ldots$}
\describe{yslant, pivoting on line $x=x_0$} {\mac{yslantpath}[$x_0$,\var{slant}]$\ldots$}
\describe{Swap x and y} {\mac{xyswappath}$\ldots$}

\section{Axes}

\def\firstkeyfrac{.30}
\def\secondkeyfrac{.70}

\describe{Draw x- and/or y-axes} {\mac{axes}[?\var{headlen}],
        \mac{xaxis}[?\var{headlen}], \mac{yaxis}[?\var{headlen}]}
\describe{Draw various axes}
        {\mac{axis}[?\var{headlen}][\var{which}],\brk
         \var{which} is one of {\tt x}, {\tt y}, {\tt l}, {\tt b}, {\tt
         r}, or {\tt t}}
\describe{Draw many axes} {\mac{doaxes}[?\var{headlen}][\var{list}], \var{list} is
        from above letters only, no commas}
\describe{Shift border axis inward}
        {\mac{axismargin}[\var{axis}][\var{amt}], \var{axis} is a
        letter, {\tt l}, {\tt t}, {\tt r}, {\tt b}; \var{amt} is amount
        to shift (graph units).\brk
        \mac{setaxismargins}[\var{amt}][\var{amt}][\var{amt}][\var{amt}]\brk
        Applied in order {\tt lbrt} (anticlockwise, starting at left).}
\describe{Add hashmarks to axes}{%
        \mac{axismarks}[\var{which}][?\var{len}][$x_1$,$x_2$,$\ldots$],
        \var{which} is the axis letter, as in \mac{axis}.}
\describe{Change position of hash marks}
        {\mac{setaxismarks}[\var{axis}][\var{pos}]\brk
            \var{axis} is a letter like {\tt x}. \var{pos}
            is one of {\tt inside}, {\tt outside}, {\tt centered},
            {\tt ontop}, {\tt onbottom}, {\tt onleft}, or {\tt onright}.\brk
         \mac{setxmarks}[\var{pos}], \mac{setymarks}[\var{pos}]\brk
         \mac{setbordermarks}[\var{pos}][\var{pos}][\var{pos}][\var{pos}]
         Applies args to axes in the order {\tt lbrt}.\brk
         \mac{setallbordermarks}[\var{pos}]}

\section{Miscellaneous}

\def\firstkeyfrac{.30}
\def\secondkeyfrac{.70}

\describe{Text labels}
        {\mac{tlabel}[?\var{pos}\var{$\theta$}]%
                {\tt($x$,$y$)\{\var{\TeX{} text}\}}\brk
         \mac{tlabels}[\var{args$_1$}\var{args$_2$}$\ldots$]\brk
         \mac{axislabels}[\var{axis}][?\var{pos}\var{$\theta$}]%
                [\{\var{txt$_1$}\}\var{$n_1$},%
                \{\var{txt$_2$}\}\var{$n_2$},$\ldots$]\brk
            \var{pos} is a two-letter sequence, \var{$\theta$}* an
            angle in degrees;\brk
            \var{args$_j$} is an entire set of arguments as in
            \mac{tlabel};\brk
            \var{axis} is a letter, \var{txt$_j$} is label, \var{$n_j$}
            is coordinate on axis}
\describe{Clipping to a path} {\mac{gclip}$\ldots$}
\describe{Polar conversion}
        {\mac{plr}[($r_0$,$\theta_0$),($r_1$,$\theta_1$),$\ldots$]}
\describe{Connect paths} {\mac{connect} \var{path1} \var{path2} $\ldots$
        \mac{endconnect}}
\describe{Draw many curves from one datafile}
        {\mac{plotdata}[?\var{spec}][\var{file}], \var{spec} is {\tt
        p} or {\tt s\var{num}} where \var{num} is the (optional) tension
        in the smooth curve}
\describe{Set how \mac{plotdata} draws curves$\dag$} {\mac{dashedlines}
        (different dash patterns)\brk
        \mac{coloredlines} (different colors, \MP{} only)\brk
        \mac{pointedlines} (different symbols, like \mac{plot})\brk
        \mac{datapointsonly} (different symbols, like \mac{plotnodes})}

\smallskip
* The angle is optional, and ignored unless option \opt{mplabels} is
in effect.\brk
$\dag$ \mac{plotdata} also respects the \mac{using} setting (see
\mac{datafile} in section {\bf General curves}).

\bye

% Other commands:
\mac{setrender}[\<\TeX{} commands\>]

\mac{coords}$\ldots$\mac{endcoords}
\mac{applyT}[\<transformer\>]
\mac{rotate}[$\theta$]
\mac{rotatearound}[$p$][$\theta$]
\mac{turn}[?$p$][$\theta$]
\mac{mirror}[$p_1$][$p_2$]
\mac{reflectabout}[$p_1$][$p_2$]
\mac{shift}[$p$]
\mac{scale}[$s$]
\mac{xscale}[$s$]
\mac{yscale}[$s$]
\mac{zscale}[$p$]
\mac{xslant}[$s$]
\mac{yslant}[$s$]
\mac{zslant}[$s$]
\mac{boost}[$\chi$]
\mac{xyswap}

\mac{fdef}[\<fcn\>]%
  (\<param1\>,\<param2\>,$\ldots$)%
  [\<mf-expr\>]

\mac{tcaption}[?\<maxwd\>,\<linewd\>][\<caption text\>]

\mac{savepic}\bsl\<picname\>
\mac{newsavepic}
\mac{usepic}

\mac{dashlineset}, \mac{dotlineset}

\mac{mfsrc}[\<metafont code\>]
\mac{noship}

\mac{store}[\<path variable\>][\<path\>]
\mac{mfobj}[\<path expression\>]
\mac{patharr}[\<pv\>]$\ldots$\mac{endpatharr}

\mac{mftitle}[\<title\>]
\mac{tmtitle}[\<title\>]

\mac{newfdim}[\<fdim\>]

\mac{setmfpicgraphic}
\mac{getmfpicoffset}
\mac{setfilename}

\bye
