XFIG Users Manual

[ English Version | Japanese Version ]

[ Contents | Operating Manual | New Features and Bugs Fixed | Technical Information | Authors ]

[ Introduction | Command Panel | Drawing Mode Panel | Editing Mode Panel
| Indicator Panel | Miscellaneous Panels | Keyboard Accelerators ]


Drawing Mode Panel

Buttons to create new objects are in the drawing mode panel, and users can create new objects using operations on the canvas after selecting a drawing mode.

[Circle by rad] [Circle by diam] Circles
[Ellipse by rad] [Ellipse by diam] Ellipses
[Closed Approx Spline] [Open Approx Spline] [Closed Interp Spline] [Open Approx Spline] Spline Curves
[Polyline] Polylines
[Polygon] Polygons
[Regular Polygon] Regular Polygons
[Box] Rectangular Boxes
[Arc Box] Arc Boxes (Rectangular Boxes with rounded corners)
[Arc] Arcs
[Picture] Picture Objects (Imported image files)
[Text] Texts
[Libraries] Libraries NEW!

The drawing mode is selected by clicking on the corresponding button. The image on the button will turn negative, indicating that it is selected. Settings in the Indicator Panel will be applied to newly created objects, so users should set those attributes before creating new objects. It is also possible to modify the attributes of an object using EDIT or UPDATE after the object has been created.

The function of each mouse button will change depending on the selected drawing mode or situation. This is displayed in the Mouse Function Indicator. Mouse button 1 is mainly used for creating objects, but mouse button 2 is also used in some cases. In most cases, mouse button 3 (`cancel') is used to cancel an operation.

(CIRCLE)
Create circles. Users can specify the center point and either the radius or diameter of the circle.

In the former mode, users should click mouse button 1 (`center point') at the center point of the circle first, and then click mouse button 1 (`set radius') again at any point on the circle.

In the diameter mode, users should click mouse button 1 (`diameter point') at any point on the circle, and then click mouse button 1 (`set radius') again at the opposite point on the circle.

[Circle Example]

If area fill is specified by FILL STYLE, the inside of the circle will be filled according to the setting. If you want to create tiny filled circle, you can also use POLYLINE.

When creating a circle, the size (radius or diameter) of the circle is displayed on the Message Panel dynamically.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style

(ELLIPSE)
Create ellipses. As in CIRCLE, users can specify the center point and radius or diameter of the ellipse. But because it is necessary to specify vertical and horizontal length, the operation is somewhat different from CIRCLE.

In the former mode, users should click mouse button 1 (`center point') at the center point of the ellipse first, and then click mouse button 1 (`corner point') again at any corner point of the imaginary rectangle which encloses the ellipse.

In the diameter mode, users should click mouse button 1 (`corner point') at any corner point of the imaginary rectangle which encloses the ellipse, and then click mouse button 1 (`final corner') again at the opposite corner point of the rectangle.

[Ellipse Example]

If TEXT/ELLIPSE ANGLE is set to non-zero, the ellipse will be rotated by the angle, positive being counter-clockwise.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, text/ellipse angle

(CLOSED APPROXIMATED SPLINE)
Create a closed approximated spline curve (smooth closed curve which approximates the specified points). The operation is similar to POLYGON or CLOSED INTERPORATED SPLINE.

To make a freehand line for any SPLINE, POLYGON, or POLYLINE, click mouse button 2 (`first point') at the first point, then drag the mouse to make the line. As you move the mouse points will be added to the line. Click mouse button 2 again to finish.

See also About Spline Curves.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style

(APPROXIMATED SPLINE)
Create an open approximated spline curve (smooth curve which passes through two end points and approximates the specified points). The operation is similar to POLYLINE or INTERPORATED SPLINE.

See also About Spline Curves.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, cap style, arrow mode, arrow type

(CLOSED INTERPOLATED SPLINE)
Create a closed interpolated spline curve (smooth closed curve which passes through the specified points). The operation is similar to POLYGON or CLOSED APPROXIMATED SPLINE.

See also About Spline Curves.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style

(INTERPOLATED SPLINE)
Create an open interpolated spline curve (smooth curve which passes through the specified points). The operation is similar to POLYLINE or APPROXIMATED SPLINE.

See also About Spline Curves.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, cap style, arrow mode, arrow type

(POLYLINE)
Create polylines (line segments connecting a sequence of points). A simple line segment or point may also be created with this function.

To create a polyline or line segment, specify the first point by clicking mouse button 1 (`first point') at the point, and then specify intermediate points by clicking mouse button 1 (`next point') repeatedly. Finally, click mouse button 2 (`final point') at the final point.

To make a freehand line for any SPLINE, POLYGON, or POLYLINE, click mouse button 2 (`first point') at the first point, then drag the mouse to make the line. As you move the mouse points will be added to the line. Click mouse button 2 again to finish.

To enter a single point click mouse button 3 (`single point'). The shape of the point will be a filled circle if CAP STYLE is ROUND, or a filled square otherwise. The size of the point will be equal to the line width.

If area fill is specified by FILL STYLE, the region enclosed by the polyline (first point and last point are considered connected) will be filled according to the setting. When filling a complex region, the `even-odd rule' will be used to decide the area to be filled.

[Polyline Example]

For all objects, clicking mouse button 3 (`cancel') will cancel all input. For objects that may have more than two points, clicking mouse button 1 while pressing the SHIFT key (`del point') will cancel entered points one by one.

When entering lines, splines or polygons, the number of points entered and the distance from last point (length, dx, and dy) is displayed on the Message Panel dynamically.

For open-ended objects, if ARROW MODE is not None, an arrow head will be added to one or both end points.

If the -showlengths option is used, more information about the lengths of lines being drawn is shown. This is true for most Fig objects being drawn.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style, cap style, arrow mode, arrow type

(POLYGON)
Create polygons. This is identical to POLYLINE except that a line is drawn between the first point and the last point.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style

(REGULAR POLYGON)
Create regular polygons.

Click mouse button 1 (`center point') at the center of the polygon, and then click mouse button 1 (`final point') again at the any vertex of the regular polygon. The number of sides is specified by NUM SIDES in advance.

This will create a simple POLYGON object, and each point of the object may be moved independently after it is created (and result of the edit will no longer be a regular polygon).

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style, num sides

(BOX)
Create rectangular boxes.

Click mouse button 1 (`corner point') at any corner of the rectangular box, and click mouse button 1 (`final point') again at the opposite corner.

If area fill is specified by FILL STYLE, the box will be filled according to the setting.

A box created with this function can't be rotated by an arbitrary angle, only by multiples of 90 degrees. To create an arbitrarily rotatable rectangular box, you should use POLYGON (it may be easier to create non-rotated rectangle first and then rotate it by ROTATE). You may also use REGULAR POLYGON to create a rotated square.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style

(ARC-BOX)
Create rectangular boxes with rounded corners. This is identical to BOX except that the corners of the box will be arcs with the radius specified by BOX CURVE.

It is also possible to convert objects between BOX and ARC-BOX with BOX <-> ARC-BOX.

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style, box curve

(ARC)
Create arcs.

Click mouse button 1 (`first point') at the one end point of the arc, click mouse button 1 (`mid point') at any intermediate point on the arc, and click mouse button 1 (`final point') again at the end point.

There are two types of arcs, open-arc and pie-wedge, which may selected by ARC TYPE.

[Arc Example]

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, cap style*, arrow mode*, arrow type*, arc type
(* These attributes are only effective for OPEN ARC)

(IMPORTING PICTURE OBJECTS)
Import image files and create PICTURE objects.

Click mouse button 1 (`corner point') at any corner of the rectangle where image should be imported, then click mouse button 1 (`final point') again at the opposite corner. It is not necessary to try to set the exact size here because it is possible to modify size or height/width ratio of the image later. After this, the Edit Panel will open, where you enter the file name of the image file. It is also possible to capture an image from the screen using the Screen Capture button. When this is clicked, the xfig windows will disappear to allow access to the screen.

You may click mouse button 1 on any window to capture the whole window (or the whole screen if the root is clicked on). Or click mouse button 2 on one corner of a rectangle on the screen, drag the mouse to the other corner and click mouse button 2 again.

It is possible to read image files in the following image formats.

Although it is possible to move, scale, and rotate an imported image, it is not possible to edit the image itself using xfig. To edit images, use another application such as xpaint instead. If you want edit figures in formats such as PostScript or HP-GL using xfig, try pstoedit or hp2xx to first convert them to Fig files then Load or Merge them into xfig.

You may link the `Edit Image' button in the Picture Object panel to your favorite bitmap image editor (e.g. xpaint). When you click on this button, xfig unmaps all its windows from the screen and calls your bitmap editor with the name of the imported picture file. There you may edit it and save it. When you exit the bitmap editor xfig reappears on the screen again with the new image. If you change the size of the image with your bitmap editor, you may want to reset the size in the Picture Object panel.

To select the bitmap editor set the resource Fig.image_editor or use the command-line argument -image_editor.

To import EPSF files, xfig invokes GhostScript to render the image. GhostScript must be compiled with `pcx256' and `pbmraw' drivers. The `pcx256' driver will used to generate color images, and `pbmraw' driver will used to generate monochrome images (used when xfig is running on a monochrome X server or with the -mono option).

GIF support may be removed in the distributed xfig. JPEG and XPM may also be included or excluded depending on the configuration when compiling xfig.

xfig can also read files compressed with compress (.Z suffix) or gzip (.z or .gz suffix). To do this, the uncompress and gunzip command must be available for xfig to invoke them.

See also Edit Panel about PICTURE objects.

Related Attributes:
depth, pen color (only for XBM images)

(TEXT)
Create text strings.

Click mouse button 1 (`posn cursor') at the desired position on the canvas to specify the position where the text should be placed, then enter text from the keyboard, or press F18 (the `Paste' key on Sun Workstations) or F20 to paste text from the PRIMARY cut buffer (cut/paste buffer of xterm). The paste key may be specified with the resource Fig*canvas.translations. See the Fig.ad application resource file for details.

It is also possible to edit existing text by clicking mouse button 1 (`posn cursor') at any point on the existing text.

If TEXT/ELLIPSE ANGLE is set to non-zero, the text will rotated by the angle, positive being counter-clockwise.

It is possible to enter Latin-1 characters such as `a umlaut' or `c cedilla' (Compose characters) using the COMPOSE (META) key. See Latin-1 Characters about this.

[JAPANESE] In Japanese-xfig, it is possible to enter Japanese text with this.

The following editing facilities are available:

Control-H (Backspace)
Delete a character to the left of the cursor.
Control-D (Delete)
Delete a character to the right of the cursor.
Control-X
Delete all the characters to the left of the cursor.
Control-K
Delete all the characters to the right of the cursor.
Control-A (Home)
Move cursor of the start of the text.
Control-E (End)
Move cursor of the end of the text.
Control-B (<-)
Move cursor left one character.
Control-F (->)
Move cursor right one character.
Control-M (Return)
Finish entering the text and start entering text on the next line. See also TEXT STEP.
F18 or F20 (Paste)
Paste text from the PRIMARY cut buffer (cut/paste buffer of xterm).
Compose (Alt or Meta)
This key is used to enter Latin-1 characters such as `a umlaut' or `c cedilla'. See also Latin-1 Characters.

It is also possible to search, replace, and spell-check all the text in the figure.

Related Attributes:
depth, pen color, text font, text size, text step, text flags, text/ellipse angle, text justification

(LIBRARIES) NEW!
Pick objects from libraries to place on the canvas.

Clicking on this button will pop up a panel from which you may choose a library of Fig objects. From there, you may select an object and place copies of it on the canvas by clicking on the canvas where you want it placed.

[Library Panel]

In the panel there is a pull-down menu of the available libraries. Select one and the library will automatically be loaded. The status window will show how many objects it contains after it loads the library, and the names of the library objects will appear in a list box. Pressing mouse button 1 once on an object name will generate a preview in the small canvas on the right. After selecting the desired object, press `Select object' and the panel will pop down, or double-click on an object name to perform the select and popdown in one step.

As you move the mouse around the canvas you will see the object you chose from the library appear under the curser. Simply click mouse button 1 to place it anywhere on the canvas. This may be repeated for the same object.

The object may be rotated or flipped before placing it on the canvas by pressing l to rotate left, r to rotate right, h to flip horizonally, and v to flip vertically.

To choose another object from the library either click mouse button 2 or press the library button in the drawing mode panel again.

If you have a slow display or if the library object is complex, you may elect to have xfig show only the outline rectangle as you move the mouse around before placing the object. To switch to this mode, press SHIFT and mouse button 1. You may toggle between drawing modes with this sequence.

To cancel the library placing mode, press mouse button 3 or any other drawing/editing mode button.

Available Libraries of Fig Objects

The xfig distribution comes with several libraries of Fig objects which you may use:

Making Your Own Libraries of Fig Objects

A library is simply a directory containing Fig files. There are two ways to create your own libraries in xfig; simply put all libraries in a directory, or use a text file which contains list of libraries.

Method 1

In the first method, you put all libraries (directories containing Fig files) in a directory. If you want use additional libraries in other directories (for example, libraries of somebody else), simply make a symbolic link to those directories in your library directory.

Then you can start xfig specifying your library directory with -library_dir option or Fig.library_dir resource. xfig scans the library directory and all libraries in the directory and any subdirectories will become available.

The default value of library_dir is ``$XFIGLIBDIR/Libraries'', where libraries comes with xfig will be installed automatically when installing xfig. So, you don't have to specify library_dir if you want to use libraries comes with xfig.

This method is more versatile than the second method because you can add more directories in the top-level directory (or sub-directories) and there is no need to edit the file which contains list of libraries.

Using this method, the names of the libraries are simply the names of the directories; e.g. if the resource ``Fig.library_dir: /xfig/Libraries'' is defined, the /xfig/Libraries/Flowchart directory will result in the library name ``Flowchart'', and the /xfig/Libraries/Electrical/Physical directory will result in the library name ``Electrical - Physical''.

Method 2

In the second method, you create a text file which contains list of libraries. Each line of the file contains the absolute path of the library (a directory containing Fig files) followed by the name of the library, which may be multiple words with whitespace.

And then you can start xfig specifying the file with -library_dir option or Fig.library_dir resource.

Here is an example of the file:

  /xfig/Libraries/Electrical/Logic    Electrical Parts (Logic)
  /xfig/Libraries/Electrical/Analog   Electrical Parts (Analog)
  /home/tim/lib/Flowchart             Tim's Flowchart Elements
  /home/chim/xfig/Buildings           Computer Clipart

The advantage of this method is flexibility; you can easily put libraries in various directories into your list of libraries, and you can use any name for each library independent of the filenames.

N.B.: In both methods, any sub-directories (and their sub-directories) found with .fig files in them will be included in the list.

It is hoped that users will contribute Fig objects to the libraries to expand and enhance them for all xfig users. If you wish to contribute any Fig objects to existing or new libraries, please send them to me at xfigmail@epb1.lbl.gov. You may restrict their usage by users if you wish, but all will benefit if you allow free usage, i.e. copying, using them in published reports, etc.

Limits

There are some limits with the libraries. These limits are independent of the two methods used.

About Spline Curves

A Spline curve is a smooth curve controlled by specified points.

Users may select from four types of spline curves on the Drawing Mode Panel of xfig. It is also possible to change the type of spline curves using SPLINE <-> LINE after are been created.

[Spline Curves]

Using splines, curves such as the following may be easily drawn.

[Spline Example]

About X-Splines

xfig's new X-Spline is bit more flexible. Each points (control points) of spline has `shape factor' and value of the shape factor controls behavior of the curve near the point. Value of shape factor can be changed independently using EDIT POINT, and it is possible to mix approximated spline, interpolated spline and polyline in one continued curve.

[Spline - Shape Factor]

Caveat: Because previous spline models (quadratic B-splines and Bezier with hidden points) are no longer supported per se, curves that are present in xfig version 3.1 and older files are automatically converted to X-splines. This translation is only an approximation process. It means that the converted curves may not be exactly the same as the original ones. Though they are usually very close, some hand-fitting may be needed in some pathological cases.

Latin-1 Characters (Compose Characters)

In TEXT mode, the following Latin-1 characters may be entered using the COMPOSE (META) key. For example to enter `a umlaut', press and release the COMPOSE key (or META or ALT key), enter the character `a', and then the character `"' (double quote). To enter `c cedilla', enter COMPOSE, `c', and `,'.

[Latin-1 Charactors]
Note: characters OE and oe will not be displayed on the screen.

Not all COMPOSE, META and ALT keys can be used on all systems. On some systems such as Sun Workstations, the META key may labeled as Diamond Mark.

[JAPANESE] In Japanese-xfig, it is not possible to use these Latin-1 characters when `Times-Roman + Mincho' or `Times-Bold + Gothic' is selected in TEXT FONT.


Goto TOP

written by us