XFIG

Section: User Commands (1)
Updated: 8 August 1988
Index Return to Main Contents
 

NAME

xfig - Facility for Interactive Generation of figures under X11  

SYNOPSIS

xfig [ -ri[ght] ] [ -le[ft] ] [ -L[andscape] ] [ -P[ortrait] ] [ -w[idth] inches ] [ -h[eight] inches ] [ -no[track] ] [ -tr[ack] ] [ file ]  

DESCRIPTION

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. File specifies the name of a file to be edited. The description of objects in the file will be read at the start of xfig.

The output from xfig can be printed in several ways

troff - f2p (xfig to pic(1) translator, also known by its previous name ftop(1L)) is used to translate xfig files into pic(1) language. The resulting file may then be processed in the same maner as any other pic file.

postscript - f2ps (xfig to postscript translator) is used to produce a postscript file from an xfig file. The postscript file can be sent directly to a postscript printer.

LaTeX - fig2latex (xfig to LaTeX translator) produces a LaTeX file from an xfig file. This file contains LaTeX picture environment commands and can be processed along with other LaTeX commands.

PiCTeX - fig2tex (xfig to PiCTeX translator) produces a PiCTeX file from an xfig file. This file contains macros that can be used with the PiCTeX environment under TeX or LaTeX.  

OPTIONS

-ri
Change the position of the panel window to the right of the canvas window (default: left).
-le
Change the position of the panel window to the left of the canvas window.
-L
Make xfig come up in landscape mode (10" x 7.5").
-P
Make xfig come up in portrait mode (7.5" x 10"). This is the default.
-w inches
Make xfig come up inches wide.
-h inches
Make xfig come up inches high.
-tr
Turn on cursor (mouse) tracking arrows.
-no
Turn off cursor (mouse) tracking arrows.
 

GRAPHICAL OBJECTS

The objects in 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.  

DISPLAY WINDOWS

Five windows comprise the display area of 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).  

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, xfig will carry out the function. However in case things go wrong, xfig will abort the function and printed the causes on the message window.

Undo
Undo the last object creation or modification.
Redisplay
Redraw the canvas.
Remove all
Remove all objects on the canvas window (can be undone).
Edit file ...
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.
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 ..." function.
Read file ...
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.)
Save as ...
Save objects on the screen into a file specified by the user. (The user will be asked for a file name.)
Status
Show the name of the current file and directory.
Change Directory
Change the working directory. Any file name without a full path name will employ the current working directory.
Save & Exit
Save the objects in the current file and exit from xfig. If there is no current file, the user will be asked for a file name. No confirmation will be asked.
Quit
Exit from xfig, discarding all objects. The user will be asked to confirm the action, by clicking the left button.
Save as BITMAP ...
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 xfig format following the bitmap data. The coordinates of these text objects can be used to identify locations on the bitmap.
 

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 creat 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.  

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).  

OBJECT CREATION/MODIFICATION/REMOVAL

Multiple commands are grouped thematically in the following descriptions (which is listed alphabetically).
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).
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).
ARC
Create an arc. Specify three points using the left button.
BOX
Create rectangular boxes. Start with the left button and terminate with the right button.
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.
CIRCLE
Create circles 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.
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).
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.
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.
ELLIPSE
Create ellipses using the same procedure as for the drawing of circles.
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).
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.
MOVE
Move objects in the same way as in COPY.
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.
POLYGON
Same as POLYLINE except that a line segment is drawn connecting the first and last points entered.
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.
REMOVE
Remove (or delete) objects.
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.
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.
TEXT
Create text strings. Click the left button at the desired position on the canvas window, then enter text from the keyboard. A DEL or ^H (backspace) will delete a character, while a ^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.
TURN
Turn POLYGON into a CLOSED INTERPOLATED SPLINE object, or turn POLYLINE into a INTERPOLATED SPLINE object.
 

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).
AUTO FORWARD/BACKWARD ARROW
Automatically add forward/backward arrow heads to POLYLINE, SPLINE or ARC objects.
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.
GRID
Display either the quarter- or half-inch grids (left button).
MAGNET
Round points to the nearest 1/16 of an inch. This affects every function, and is provided as an alignment aid.
UNRESTRICTED
Allow lines to be drawn with any slope.
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.
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.
MANHATTAN MOUNTAIN
Allow lines to be drawn at any slope allowed when in MOUNTIAIN or MANHATTAN modes.
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].
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].
ROTATE
Rotate the object (middle button) or copy (left button) +90 degrees.
SOLID/DASHED LINE STYLE
Toggle between solid and dashed line styles. The dash length is fixed at 0.05 inch.
 

X DEFAULTS

The overall widget name(Class) is xfig.fig(Fig.TopLevelShell). This set of resources correspond to the command line arguments:
trackCursor
(boolean:on) -track and -notrack arguments
justify
(boolean:false) -right and -left arguments
landscape
(boolean:false) -Landscape and -Portrait arguments
debug
(boolean:off) -debug arguments
width
(integer:7.5 or 10 inches) -width argument
height
(integer:10 or 7.5 inches) -height argument
reverseVideo
(boolean:off) -inverse argument

These arguments correspond to the widgets which make up xfig.

overall window
form(Form)
side panel
form.panel(Form.Box)
icons
form.panel.button(Form.Box.Command)
top ruler
form.truler(Form.Label)
side ruler
form.sruler(Form.Label)
canvas
form.canvas(Form.Label)
message window
form.message(Form.Command)
menu
form.popup_menu.menu(Form.OverrideShell.Box)
menu title
form.popup_menu.menu.title(Form.OverrideShell.Box.Label)
menu items
form.popup_menu.menu.pane(Form.OverrideShell.Box.Command)

For example, to set the background of the panel to blue the resource would be:
xfig*form.panel.background: blue

NOTE: The font used in the canvas cannot be changed at this time.  

BUGS

Text strings will appear differently on hard copy, because the display fonts are fixed-width fonts while the fonts used by the typesetter systems are variable-width fonts.

A double quote in a text string should be preceded by a back slash if the it is to be printed through pic(1).

Objects that extend beyond the canvas window may cause image shrinkage in hard copy printed by pic(1), since it will try to fit every object onto a single 8.5" x 11" page.

Ellipses which are too narrow may cause xfig to loop forever.

Objects which are created while one of the grids is on may appear ragged. This can be corrected by selecting Redisplay from the pop-up menu.

The X11 cursors are not the original ones but chosen from X11's cursor font.  

SEE ALSO

Brian W. Kernighan PIC - A Graphics Language for Typesetting User Manual
ditroff(1), f2p(1), f2ps(1), fig2latex(1), fig2tex(1), pic(1), troff(1), tex(1), latex(1)  

ACKNOWLEDGEMENT

Many thanks goes to Professor Donald E. Fussell who inspired the creation of this tool.  

AUTHORS

Original author:
Supoj Sutanthavibul
University of Texas at Austin
(supoj@sally.utexas.edu)

Manual page modified by:
R. P. C. Rodgers
UCSF School of Pharmacy
San Francisco, CA 94118

The LaTeX line drawing modes were contributed by:
Frank Schmuck
Cornell University

X11 port by:
Ken Yap
Rochester
(ken@cs.rochester.edu)

Variable window sizes, cleanup of X11 port, right hand side panel under X11, X11 manual page provided by:
Dana Chee
Bellcore
(dana@bellcore.com)

Cleanup of color port to X11 by:
John T. Kohl
MIT
(jtkohl@athena.mit.edu)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GRAPHICAL OBJECTS
DISPLAY WINDOWS
POP-UP MENU
PANEL WINDOW MANIPULATION FUNCTIONS
PANEL WINDOW COMMAND DESCRIPTIONS
OBJECT CREATION/MODIFICATION/REMOVAL
DRAWING AIDS
X DEFAULTS
BUGS
SEE ALSO
ACKNOWLEDGEMENT
AUTHORS

This document was created by man2html, using the manual pages.
Time: 15:36:53 GMT, September 21, 2022