\documentstyle{article} % 21.11.1990
%\nofiles
 \textwidth15cm \textheight24cm %DIN A4
 \oddsidemargin0cm\evensidemargin0cm
 \topmargin-1cm
\parindent0mm \parskip1ex plus0.5ex minus0.3ex
\renewcommand{\baselinestretch}{1}               %doppelter Zeilenabstand
\renewcommand{\thefootnote}{\arabic {footnote})}
\pagestyle{empty}
\def\ctrl#1{{\tt <Ctrl>-<#1>}}
\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
\def\PiCTeX{\PiC\kern-.11em\TeX}
\originalTeX
%
\begin{document}\small
\section*{{\bf FIG:} Facility for Interactive Generation of figures}
\tableofcontents

\section{Description}
{\sf XFIG} is a menu-driven tool that allows the user to draw and manipulate objects
interactively in an X window.  It runs under X version 11 release 2 and
requires a three-button mouse.

{\bf File }specifies the name of a file to be edited. The description of objects in
the file will be read at the start of {\sf XFIG}.

Fig2latex ({\sf XFIG} to \LaTeX\ translator) produces a \LaTeX\ file
 from an {\sf XFIG} file.
This file contains \LaTeX\ picture environment commands and can be
processed along with other \LaTeX\ commands.

Fig2tex ({\sf XFIG} to PiCTeX translator) produces a
\PiCTeX\ file from an {\sf XFIG}
file.  This file contains macros that can be
used with the \PiCTeX\ environment under \TeX\ or \LaTeX.

\section{Options}
\begin{description}
\item[-ri{[ght]}]
Change the position of the panel window to the right of the canvas window
(default: left).
\item[-le{[ft]}]
Change the position of the panel window to the left of the canvas window.
\item[-L{[andscape]}]
Make {\sf XFIG} come up in landscape mode (10'' x 7.5'').
\item[-P{[ortrait]}]
Make {\sf XFIG} come up in portrait mode (7.5'' x 10''). This is the
default.
\item[-w{[idth]} inches]
Make {\sf XFIG} come up inches wide.
\item[ -h{[eight]} inches] Make {\sf XFIG} come up inches high.
\item[ -tr{[ack]}]
Turn on cursor (mouse) tracking arrows.
\item[ -no{[track]}] Turn off cursor (mouse) tracking arrows.
\end{description}
%
\section{Graphical Objects}
The objects in {\sf XFIG} are divided into primitive objects and
compound object. The primitive objects are: ARC, CIRCLE,
CLOSED SPLINE, ELLIPSE, POLYLINE, POLYGON,
SPLINE, and TEXT.  A primitive can be moved, rotated,
flipped, copied or erased.
A compound object is composed of primitive objects. The primitive objects
that constitute a compound can not be individually modified, but they can
be manipulated as an entity; a compound can be moved, rotated, flipped,
copied or erased.  An extra function that can be applied to a compound
object is scaling, which is not available for primitive objects.
%
\section{Display Windows}
Five windows comprise the display area of {\sf XFIG}: the
top ruler, the side ruler, the panel window, the message window,
and the canvas window.
The message window always appears below the others;
it is the area in which messages are sent and received.
The panel window can be placed to the left or right of the
the canvas window (default: left).
%
\section{Pop-Up Menu}
The pop-up menu appears when the right mouse button is pressed with the
cursor positioned within the canvas window.
Positioning the cursor over the desired menu entry and releasing the
button selects a menu entry.

There are a number of file accessing functions in the pop-up menu.
Most of the time when one of these functions is selected, the user
will be asked for a file name.  If the specified file can be located
and the access permission are granted, {\sf XFIG} will carry out
the function.  However in case things go wrong, {\sf XFIG} will
abort the function and printed the causes on the message window.
\begin{description}
\item[Undo]
Undo the last object creation or modification.
\item[Redisplay]
Redraw the canvas.
\item[Remove all]
Remove all objects on the canvas window (can be undone).
\item[Edit file \ldots]
The current contents of the canvas are cleared and objects
are read from the specified file.
The user will be asked for a file name.
This file will become the current file.
\item[Save]
Save the current contents of the canvas in the current file.
If no file is being edited, the user will be asked for a file
name as in the ''Save in \ldots'' function.
\item[Read file \ldots]
Read objects from the specified file and merge them with objects already
shown on the canvas.
(The user will be asked for a file name.)
\item[Save as \ldots]
Save objects on the screen into a file specified by the user.
(The user will be asked for a file name.)
\item[Status]
Show the name of the current file and directory.
\item[Change Directory]
Change the working directory.  Any file name without a full path name
will employ the current working directory.
\item[Save \& Exit]
Save the objects in the current file and exit from {\sf XFIG}.
If there is no current file, the user will be asked for a file name.
No confirmation will be asked.
\item[Quit]
Exit from {\sf XFIG}, discarding all objects. The user will be asked to
confirm the action, by clicking the left button.
\item[Save as BITMAP \ldots]
Create a bitmap picture of the drawings for use with other tools (for example,
for use as an icon).  The smallest rectangular area of pixels
that encompasses the figure is written to the named file
(the user will be asked for a file name) from
top row to bottom and left to right (in Sun raster format).
Only TEXT objects that are parts of compound objects will be
treated as parts of the picture; other texts are saved as objects in
{\sf XFIG} format following the bitmap data.
The coordinates of these text objects can be used
to identify locations on the bitmap.
\end{description}
%
\section{Panel Window Manipulation Functions}
Icons in the panel window represent object manipulation functions,
modes and other drawing or modification aids.
Manipulation functions are selected by positioning the cursor over it and
clicking the left mouse button.  The selected icon is highlighted, and
a message describing its function appears in the message window.

The left and middle buttons are used to create and modify objects in the canvas
window.  Most actions start with clicking of the left button
and end with clicking of the right button.
There is no need to hold down a button while positioning
the cursor.
\section{Panel Window Command Descriptions}
Entries in the panel window can be classified into two categories:
object creation/modification/removal commands (only one of which may be active
at any one time), and drawing aids (which act as toggle switches).
There are two ways for drawing circles, two for ellipses, two for splines
and two for closed splines.

There are two basic splines.  One is the interpolated spline
in which the spline pass thorough the entered points (knots).
The other is the normal spline in which on control points are
passed by the spline (except for the two end points in the open spline).
\section{Object Creation/Modification/Removal}
Multiple commands are grouped thematically in the following
descriptions (which is listed alphabetically).
\begin{description}
\item[ADD/DELETE ARROWS]
Add or delete arrow heads for POLYLINE, POLYGON, SPLINE
or CLOSED SPLINE objects (points of a BOX can not be added or
deleted).
\item[ADD/DELETE POINTS]
Add or delete points for POLYLINE, POLYGON, SPLINE
or CLOSED SPLINE objects (points of a BOX can not be added
or deleted).
\item[ARC]
Create an arc.  Specify three points using the left button.
\item[BOX]
Create rectangular boxes.  Start with the left button and terminate with
the right button.
\item[BREAK COMPOUND]
Break  a compound object to allow manipulation of its component parts.
Click the left button on the bounding box of
the compound object.
\item[CIRCLE]
Create cirs by specifying their radii or diameters.
Click the left button on the canvas window, move the cursor until the
desired radius or diameter is reached, then click the middle button to
terminate. The circle will be drawn after the pressing of the middle button.
\item[CLOSED INTERPOLATED SPLINE]
Create closed or periodic splines.  The function is similar
to POLYGON except that a closed interpolated spline is drawn.
The spline will pass through the points (knots).
\item[CLOSED SPLINE]
Create closed or periodic spline objects.
The function is similar to POLYGON
except that a closed spline will be drawn instead of polygon.
The entered points are just control points; i.e., the spline will
not pass any of these points.
\item[COPY]
Copy object.  Click the left button over part of the object to be
copied (for CIRCLE and ELLIPSE
objects, position on their circumferences).  Drag the object to the desired
position and click the middle button.
This function as well as the following three functions
(MOVE, MOVE POINT, REMOVE)
will cause point markers (manipulation aids) to be shown on the canvas window.
There are no markers for CIRCLE or ELLIPSE objects.
\item[ELLIPSE]
Create ellipses using the same procedure as for the drawing of circles.
\item[GLUE]
Glue the objects within a bounding box into a compound object
(the bounding box itself is not part of the figure;
it is a visual aid for manipulating the compound).
\item[INTERPOLATED SPLINE]
Create (cubic spline) spline objects.
Enter control vectors in the same way as for creation of a
POLYLINE object.
At least three points (two control vectors) must be entered.
The spline will pass through the entered points.
\item[MOVE]
Move objects in the same way as in COPY.
\item[MOVE POINT]
Modify the position of points of POLYLINE, BOX, POLYGON,
ELLIPSE, ARC and SPLINE
objects.  Click the left button over the desired point, reposition the point,
and click the middle button.  Note that BOX and POLYGON
objects are internally stored as POLYLINE
objects, and therefore moving certain points may open these objects.
\item[POLYGON]
Same as POLYLINE
except that a line segment is drawn connecting the first and last
points entered.
\item[POLYLINE]
Create polylines (line segments connecting a sequence of points).
Enter points by clicking the left button at the desired positions on the
canvas window.  Click the middle button to terminate.
\item[REMOVE]
Remove (or delete) objects.
\item[SCALE COMPOUND]
Only compound objects can be scaled.  Click the left button
on a corner of the bounding box, stretch the
bounding box to the desired size, and click the middle button.
Or click the left button on a side of the bounding box, stretch that
side to the desired size, and click the middle button.
\item[SPLINE]
Create (quadratic spline) spline objects.
Enter control vectors in the same way as for creation of a
POLYLINE object.
At least three points (two control vectors) must be entered.
The spline will pass only the two end points.
\item[TEXT]
Create text strings. Click the left button at the desired position on
the canvas window, then enter text from the keyboard.
A {\tt DEL} or \ctrl{H} (backspace) will delete a character, while a
\ctrl{U} will kill
the entire line.
Terminate by clicking the middle button or typing the return key.  To
edit text, click on an existing text string with the left button.
Insertion of characters will take place at that point.
\item[TURN]
Turn POLYGON into a CLOSED INTERPOLATED SPLINE object, or
turn POLYLINE into a INTERPOLATED SPLINE object.
\end{description}
%
\section{Drawing Aids}
Drawing aids act as toggle switches. More than one can be selected at a time
(except for GRID and the line drawing modes).
\begin{description}
\item[AUTO FORWARD/BACKWARD ARROW]
Automatically add forward/backward arrow heads to POLYLINE, SPLINE
or ARC objects.
\item[FLIP]
Invert the object (middle button) or produce a mirror-image copy of an
object (left button). Point to part of the object (''the handle''), click
the appropriate button.
\item[GRID]
Display either the quarter- or half-inch grids (left button).
\item[MAGNET]
Round points to the nearest 1/16 of an inch.
This affects every function, and is provided as an alignment aid.
\item[UNRESTRICTED]
Allow lines to be drawn with any slope.
\item[MANHATTAN]
Enforce drawing of lines in the horizontal and vertical direction only.
Both MANHATTAN and MOUNTAIN can be turned on simultaneously. The
creations of POLYGON, POLYLINE and SPLINE objects are
affected by these two modes.
\item[MOUNTAIN]
Enforce drawing of only diagonal lines.  Both MANHATTAN
and MOUNTAIN can be turned on simultaneously. The creations
of POLYGON, POLYLINE and SPLINE objects are affected
by these two modes.
\item[MANHATTAN MOUNTAIN]
Allow lines to be drawn at any slope allowed when in
MOUNTAIN or MANHATTAN modes.
\item[LATEX LINE]
Allow lines to be drawn only at slopes which can be handled by \LaTeX\ picture
environment lines: slope = x/y, where x,y are integers in the range [-6,6].
\item[LATEX VECTOR]
Allow lines to be drawn only at slopes which can be handled by \LaTeX\ picture
environment vectors: slope = x/y, where x,y are integers in the range [-4,4].
\item[ROTATE]
Rotate the object (middle button) or copy (left button) +90 degrees.
\item[SOLID/DASHED LINE STYLE]
Toggle bexween solid and dashed line styles. The dash length
is fixed at 0.05 inch.
\end{description}
%
\end{document}
