Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fig(1) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fig2dev(1)

XFIG(1)



XFIG(1)            UNIX System V(Release 2.1 (Protocol 2.1))            XFIG(1)


NAME
      xfig - Facility for Interactive Generation of figures under X11

SYNOPSIS
      xfig [options] [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
      4 or higher 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 TransFig package is used to print the output from xfig.

      Note for previous xfig users:

      The f2p and f2ps translators have been phased out because the TransFig
      package from Micah Beck is a more general purpose translator for more
      graphics languages.  The TransFig package can be used as a back-end
      processor to xfig to produce various types of output:

      LaTeX -     fig2dev -L latex translates xfig to LaTeX picture environment
                  commands which can be processed along with other LaTeX
                  commands.

      Postscript -
                  fig2dev -L ps produces a postscript output.

      Pic -       fig2dev -L pic produces a pic output.

      PiCTeX -    fig2dev -L pictex produces PiCTeX output.  This contains
                  macros that can be used with the PiCTeX environment under TeX
                  or LaTeX.

      Others -    fig2dev has options for these other languages:  box, epic,
                  eepic, and eepicemu.

      The TransFig package is available from the contributed software on the
      distribution tapes of X11 Release 5 from MIT and from ftp.cs.cornell.edu
      (directory /pub/fig) and sun.soe.clarkson.edu (directory /pub/transfig)
      via anonymous ftp.  It is also available by mail from the Clarkson
      archive server.  To find out about using the server, send the one-line
      message "help" to archive-server@sun.soe.clarkson.edu.

OPTIONS
      -ri[ght]
            Change the position of the side panel window to the right of the
            canvas window (default: left).





10/89                                                                    Page 1







XFIG(1)            UNIX System V(Release 2.1 (Protocol 2.1))            XFIG(1)


      -le[ft]
            Change the position of the side panel window to the left of the
            canvas window.

      -L[andscape]
            Make xfig come up in landscape mode (10" x 8").  This is the
            default.

      -P[ortrait]
            Make xfig come up in portrait mode (8" x 9").

      -pw[idth] units
            Make xfig come up units wide (where units are either cm or in).

      -ph[eight] units
            Make xfig come up units high (where units are either cm or in).

      -tr[ack]
            Turn on cursor (mouse) tracking arrows (default).

      -not[rack]
            Turn off cursor (mouse) tracking arrows.

      -inc[hes]
            Make inches the unit of choice (default).

      -me[tric]
            Make centimeters the unit of choice.

      -inv[verse]
            Use inverse video (white on black).

      -de[bug]
            Turn on debugging mode.

      -nor[mal] font
            Cause the font used for the message panel and ruler numbers to be
            font.  This font is also used on the canvas when the selected font
            is not available in an X11 font (default = fixed).

      -bu[tton] font
            Cause the font used for most buttons to be font (default = 6x13).

      -bol[d] font
            Cause the font used for displaying confirmation messages to be font
            (default = 8x13bold).

      -startf[ontsize] pointsize
            Set the default font size for text objects (default = 12pt).





Page 2                                                                    10/89







XFIG(1)            UNIX System V(Release 2.1 (Protocol 2.1))            XFIG(1)


      -sh[owallbuttons]
            Show all the xfig indicator buttons instead of only those relevant
            to the current drawing mode.  Normally, the buttons line width,
            area-fill, grid mode, text size, etc. are only visible when they
            are relevant to the current drawing mode. The -showallbuttons
            option makes all of the indicator buttons visible at all times.
            This takes up more screen real estate, but allows the user to see
            all settable parameters.

      -internalBW width
            Use lines of width width between all buttons and panels (default =
            1).

GRAPHICAL OBJECTS
      The objects in xfig are divided into primitive objects and compound
      objects. The primitive objects are: ARC, CIRCLE, CLOSED SPLINE, ELLIPSE,
      POLYLINE, POLYGON, ENCAPSULATED POSTSCRIPT, BOX, ARC-BOX, SPLINE, and
      TEXT.

      A primitive object can be moved, rotated, flipped vertically or
      horizontally, scaled, copied, aligned within a compound object or erased.
      The TEXT primitive cannot be rotated (on-screen) or flipped.  The
      attributes of any primitive object can be edited using a popup panel
      (discussed below), so you can, for instance, set the rotation angle for
      printed TEXT primitives.

      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
      vertically or horizontally, scaled, copied or erased.

      Regular polygons may be created using a special drawing mode, but a
      general POLYGON is created as a result, which may then be modified, i.e.
      the individual vertices may be moved if desired.

DISPLAY WINDOWS
      Nine regions comprise the display area of xfig: the command region, top
      ruler, side ruler, drawing mode region, editing mode region, message
      region, indicator region with buttons to set and show current line
      thickness, line style, area-fill gray color and several other settings,
      mouse function indicator region and canvas region. (The mouse function
      indicator region was inspired by the UPS debugger from the University of
      Kent.)  The drawing and editing mode regions may be placed (together) to
      the left or right of the the canvas window (default: left).

COMMAND PANEL FUNCTIONS
      Quit  Exit from xfig, discarding the figure. If the figure has been
            modified and not saved, the user will be asked to confirm the
            action, by clicking the left button on a confirm/cancel popup menu.





10/89                                                                    Page 3







XFIG(1)            UNIX System V(Release 2.1 (Protocol 2.1))            XFIG(1)


      Delete ALL
            Delete all objects from the canvas window (may be undone).

      Undo  Undo the last object creation, deletion or modification.

      Redraw
            Redraw the canvas.

      Paste Paste the object previously copied into the cut/paste file into the
            current figure (at its original position).

      File  Left mouse button pops up a menu which contains several file-
            related functions:

           Directory
                 This is an editable AsciiTextWidget which contains the current
                 directory.

           File  This is an editable AsciiTextWidget which contains the current
                 filename.

           Cancel
                 This pops down the file panel without making any changes to the
                 directory or file name.

           Save  Save the current contents of the canvas in the file specified in
                 the File menu item.  If the file already exists a confirmation
                 popup menu will appear asking the user to confirm or cancel the
                 save.

           Load  The current contents of the canvas are cleared and the figure is
                 read from the filename specified in the File menu item.  This file
                 will become the current file.

           Merge Read
                 Read figure from the filename specified in the File menu item and
                 merge it with the figure already shown on the canvas.  The filename
                 in the File will revert to the previous filename after this
                 function is completed.

           Right mouse button invokes Save function without popping up the file
           panel.

      Export
            Will let you export the figure to an output file in one of several
            formats.  Left mouse button pops up a menu with several export-
            related functions:

           Magnification
                 This is an editable AsciiTextWidget which contains the
                 magnification to use when translating figure to the output
                 language.


Page 4                                                 10/89







XFIG(1)  UNIX System V(Release 2.1 (Protocol 2.1))   XFIG(1)


      Orientation
            This button will toggle the output orientation between Landscape
            (horizontal) and Portrait (vertical).  The default orientation is
            the same as the mode that xfig was started with.

      Language
            The translation language to use for xfig output when output is
            directed to a file.  The default is Postscript.  The figure may be
            saved as an X11 bitmap by choosing Xbitmap as the output language.
            The bitmap is created from the figure, the size of which is
            determined by the enclosing rectangle of all the figure plus a
            small border.

      Default Output File
            This is read-only AsciiTextWidget which contains the filename that
            will be used to write output to a file if there is no name
            specified in Output File.  The default is the figure name plus an
            extension that reflects the output language used.

      Output File
            This is an editable AsciiTextWidget which contains the filename to
            use to write output to a file.

      Cancel
            This button will pop down the print menu without doing any print
            operation.

      Export
            This button writes the figure to the file using the selected
            language.  If the file already exists, a confirmation window will
            popup to ask the user to confirm the write or cancel.

      Right mouse button invokes Export function without popping up the export
      panel.

      Print Left mouse button pops up a menu with several print-related
            functions:

           Magnification
                 This is an AsciiTextWidget which contains the magnification to use
                 when translating figure to the output language.

           Orientation
                 This button will toggle the output orientation between Landscape
                 (horizontal) and Portrait (vertical).  The default orientation is
                 the same as the mode that xfig was started with.

           Justification
                 This button will bring up a sub-menu from which you may choose
                 center or flush left to justify the figure on the page.  The
                 default is flush left.



10/89                                                 Page 5







XFIG(1)  UNIX System V(Release 2.1 (Protocol 2.1))   XFIG(1)


      Printer
            This is an AsciiTextWidget which contains the printer to use if
            output is directed to a printer.  The name of the printer may be
            set using the resource *printer*string:

      Cancel
            This button will pop down the print menu without doing any print
            operation.

      Print This button sends the figure to the printer.  Note that the figure
            that is printed is what you see on the canvas, not necessarily the
            figure file.  I.e., if you haven't saved the figure since the last
            changes, the figure from the canvas is printed. Xfig writes the
            figure to a temporary file to do this. The name of the file is
            /tmp/xfig-printPID, where PID is the process ID of xfig.

      Right mouse button invokes Print function without popping up the print
      panel.

INDICATOR PANEL COMMAND DESCRIPTIONS
      The indicator panel contains buttons to set certain drawing
      parameters, such as line thickness, canvas grid, rotation
      angle etc.  All of the buttons use the same mouse buttons
      for setting values. Pressing the left mouse button on the
      indicator will pop up a panel in which either a value may
      be typed (e.g. for a line thickness) or the mouse may be
      clicked on one of several buttons (e.g. for grid style or
      font name).

      Pressing the middle mouse button on an indicator will
      decrement the value (e.g. for line thickness) or cycle
      through the options in one direction (e.g. font names),
      while pressing the right mouse button will increment the
      value or cycle through the options in the other direction.

      ZOOM SCALE
            The canvas zoom scale may be set/increased/decreased
            with this button.  The integer zoom scale is
            displayed within the zoom button. Ruler, grid and
            linewidth are scaled, too.

      ROTATION ANGLE
            The rotation angle for rotating objects may be
            set/increased/decreased with this button.  Note that
            not all objects may be rotated, and certain objects
            may only be rotated by certain angles.  Pressing the
            middle or right button will decrease(increase) the
            angle in steps of 15 degrees.  To select other
            angles, press the left button and enter the angle in
            the popup menu.




Page 6                                                      10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


      NUMBER OF POLYGON SIDES
            The number of sides used in creating a REGULAR
            POLYGON is set with this button.

      GRID MODE
            With this button the user may select no grid, 1/4
            inch (5mm in metric mode) grid or 1/2 inch (10mm)
            grid.

      POINT POSITION
            This button controls the coarseness of object
            placement on the canvas. The options are arbitrary
            placement, 1/16 inch (2mm in metric mode), 1/4 inch
            (5mm) or 1/2 inch (10mm).  This allows the user to
            easily place objects in horizontal or vertical
            alignment.

            This also restricts which objects may be "picked up"
            by the mouse when editing.  If a corner of an object
            is not positioned on the canvas on a multiple of the
            point positioning resolution you may not be able to
            pick it.  If this happens, a black square will
            temporarily appear above the mouse cursor. This
            square will also appear anytime the user tries to
            pick a nonexistent object.

      VERTICAL ALIGN
            This sets the vertical alignment mode for the ALIGN
            button in the editing mode panel.  The choices are no
            vertical alignment, align to top edge, middle or
            bottom edge of compound. The HORIZONTAL ALIGN and
            VERTICAL ALIGN indicator settings are used together
            to align objects inside a compound.

      HORIZONTAL ALIGN
            This sets the horizontal alignment mode for the ALIGN
            button in the editing mode panel.  The choices are no
            horizontal alignment, align to left edge, middle or
            right edge of compound.  The HORIZONTAL ALIGN and
            VERTICAL ALIGN indicator settings are used together
            to align objects inside a compound.

      ANGLE GEOMETRY
            The following settings are available to restrict the
            drawing angle of line segments in POLYLINES, POLYGONS
                 and SPLINES.

           UNRESTRICTED
                 Allow lines to be drawn with any slope.





10/89                                                 Page 7







XFIG(1)  UNIX System V(Release 2.1 (Protocol 2.1))   XFIG(1)


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

      MANHATTAN-MOUNTAIN
            Allow lines to be drawn in the horizontal, vertical
            or diagonal direction only.

      MANHATTAN
            Enforce drawing of lines in the horizontal and
            vertical direction only.

      MOUNTAIN
            Enforce drawing of only diagonal lines.

      AREA FILL
            This button allows the user to select the area fill
            darkness (grey scale) for all objects except TEXT and
            ENCAPSULATED POSTSCRIPT, or to turn off area fill
            altogether.

      LINE WIDTH
            The width of lines may be selected with this button.
            Zero width lines may be drawn for the purpose of
            having filled areas without outlines.

      LINE STYLE
            The choices for line style are solid, dashed and
            dotted.  Once created, a dashed or dotted line may be
            edited to change the length of dashes or the spacing
            of dots respectively.  The dash length and dot gap
            can be changed from the default using the popup menu.

      BOX CURVE
            The radius of the corners on ARC-BOX objects may be
            set with this button.

      ARROW MODE
            This button selects the auto-arrow mode for drawing
            lines.  The options are no arrow heads, backward-
            pointing arrow head, forward-pointing arrow head or
            both.  If one or both arrow head modes are turned on,
            then arrow heads are automatically drawn when drawing
            POLYLINE, SPLINE or ARC objects.




Page 8                                                      10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


      TEXT JUSTIFICATION
            The adjustment of text may be set to left, center or
            right justification.

      TEXT SIZE
            The text size may be set/increased/decreased with
            this button.

      TEXT STEP
            The interline spacing of text may be
            set/increased/decreased with this button.  The number
            displayed gives the multiple of the font height that
            will be placed between lines on hitting <return>.

      TEXT FONT
            This button allows a selection of 35 fonts available
            for most Apple Postscript printers.  There are two
            buttons at the top of the menu.  The cancel button
            pops down the menu without changing the current font.
            The use latex fonts will switch the menu to the LaTeX
            font choices. When the LaTeX font menu is up, besides
            a cancel button there is a button to switch back to
            the Postscript fonts.

            The name of the font is printed in the font itself so
            that one may see what that font looks like.  If a
            corresponding X11 font exists, new text is created on
            the canvas using that font.  xfig uses the size of
            X11 font closest to that selected by the font size
            button.  If the X11 font doesn't exist, xfig uses the
            font selected by the "-normal" option.  To abort
            selection of a font, click the left mouse button on
            cancel.


DRAWING AND EDITING MODE PANELS
      Icons in the drawing and editing mode panel windows
      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.

DRAWING MODE PANEL COMMAND DESCRIPTIONS
      The drawing mode panel contains buttons used to create the
      various xfig objects.  Once the drawing mode is selected,
      the object is created by moving the mouse to the point on
      the canvas where the object is to be placed and pressing
      and releasing the left button. After that the mouse is
      moved to the second point and the left button is again
      pressed for the next point. For those objects which may


10/89                                                      Page 9







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


      have more than two points (e.g. a line), the left button
      may be pressed for each successive point, and the middle
      button must be pressed to finish the object. To create a
      single point using the POLYLINE button, press and release
      the middle button.  For the ARC object, which requires
      exactly three points the left button is used for all three
      points.

      At any time the right button may be pressed to cancel the
      creation of the object.

      ARC   Create an arc.  Specify three points using the left
            button.

      BOX   Create rectangular boxes. Start and finish with the
            left button.

      ARC-BOX
            Create rectangular boxes with rounded corners. Start
            and finish with the left button.  The radius of the
            corners is selected by the BOX CURVE button.

      CIRCLE
            Create circles by specifying their radii or
            diameters.  Click the left button on the center of
            the circle and drag the mouse until the desired
            radius or diameter is attained.  Click the left
            button again to finish the circle.

            Note: if xfig has been compiled with the -DFASTSERVER
            flag the circle will be drawn as the user is creating
            it (dragging the mouse).  Otherwise a rectangular
            outline will show the user the size of the circle
            until the object is compete.

      ELLIPSE
            Create ellipses using the same procedure as for the
            drawing of circles.

      ENCAPSULATED POSTSCRIPT OBJECT (EPS)
            Click the left button on either the upper-left or
            lower-right corner for the EPS object and finish by
            clicking the left button again on the opposite
            corner.  The EDIT popup panel will appear and the
            file name of the EPS object may be entered.  After
            pressing DONE or APPLY the bitmap part of the EPS
            object will appear in the box just created.  If no
            EPS file is available yet or no name is entered or
            there is no preview bitmap in the EPS file, pressing
            DONE will pop down the edit panel and the word
            <empty> or the EPS file name will remain in the EPS
            box.  Later, when the name of the EPS file is known


Page 10                                                     10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


            or the file is available, you may re-read the EPS
            file using the popup edit panel and the bitmap part
            of the EPS file will replace the name in the box.

      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.

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

      POLYGON
            Same as POLYLINE except that a line segment is drawn
            connecting the first and last points entered.

      REGULAR POLYGON
            The number of sides is first selected with the NUM
            SIDES button in the indicator panel.  Then the left
            button is clicked on the center and the mouse dragged
            to the desired size.  The object may be rotated as it
            is being created by moving the mouse up or down
            relative to the starting point.  Click the left
            button to finish.

      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.

      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 only pass
            through the two end points.





10/89                                                     Page 11







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


      TEXT  Create text strings. Click the left button at the
            desired position on the canvas window, then enter
            text from the keyboard.  Text is drawn using the
            current font, font size and justification settings.
            A DEL or ^H (backspace) will delete a character,
            while a ^U or ^X will erase the entire line.  Finish
            by clicking the middle button or typing the <return>
            key. If <return> is used, the text pointer
            automatically moves to the next "line", a distance of
            the font height times the value in the TEXT STEP
            button, and text input mode is re-entered.  To finish
            text fully, click the middle button or choose any
            panel button that changes modes (e.g. box, save,
            etc).  To edit text, click on an existing text string
            with the left button.  Insertion of characters will
            take place at that point.  Or, use the popup EDIT
            mode to modify the text.


EDITING MODE PANEL COMMAND DESCRIPTIONS
      When a button in the editing mode panel is pressed, any
      objects that may be affected by that editing operation will
      show their corner markers.  Only those objects may be
      affected by the particular edit mode.  In cases where two
      edit modes exist for one button, it may be that the corner
      markers will appear for objects that may be affected by one
      button but not the other.

      SELECTING OBJECTS



      When multiple objects have points in common, e.g. two boxes
      that touch at one corner, only one object can be selected
      by clicking on that point. To select other objects, hold
      down the shift key while pressing the left mouse button:
      the markers of one object will be highlighted.  By
      repeatedly clicking the left button while holding down the
      shift key, it is possible to cycle through all candidates
      for selection at that point. To perform the selected
      action, e.g. deleting one box, click on the point without
      holding down the shift key.  The operation will be
      performed on the highlighted object.

      Note:  If the mouse is not clicked near enough to an object
      marker or for whatever reason xfig cannot "find" the object
      the user is trying to select, a black square will
      temporarily appear above the mouse cursor.

      GLUE COMPOUND
            Create a compound object by clicking the left mouse
            button near the upper-left area to enclose then drag


Page 12                                                     10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


            the mouse to the lower-right area and click the left
            button again.  The rubber-band rectangle will
            disappear and four corner markers will appear,
            marking the boundaries of the compound object.

      BREAK COMPOUND
            Break a compound object to allow manipulation of its
            component parts.  Click the left button on the one of
            the corner markers of the compound object or along
            one of the imaginary lines defining the compound box.

      SCALE OBJECT
            Any object may be scaled.  If the left button is
            pressed on a BOX or ARC-BOX object, then that object
            will be scaled proportionally to its aspect ratio.
            If the middle button is pressed on any object, that
            object will be scaled up or down about its center.
            Text may only be scaled if inside a compound object
            and then only if its RIGID flag is set to NORMAL
            (using the popup edit panel).  See the TransFig
            manual for description of text options.

      ALIGN This button will align objects inside a compound
            object according to the setting in the VERTICAL ALIGN
            and HORIZONTAL ALIGN indicators. The choices are the
            cumulative effect of vertically aligning the objects
            to the TOP, MIDDLE or BOTTOM edge and horizontally
            aligning to the LEFT, MIDDLE or RIGHT edge of the
            compound.

      MOVE POINT
            Modify the position of a point of any object except
            TEXT and COMPOUND objects.  For unrestrained
            movement, click the left button over the desired
            point, reposition the point, and click the left
            button again.  For horizontally or vertically
            constrained move, click the middle button on the
            desired point and move either horizontally or
            vertically.  Notice that once you choose the
            direction (horizontal or vertical), movement is
            constrained in that direction.  If, after moving the
            mouse initially, it is moved in the other direction a
            greater distance than the current position of the
            mouse relative to the starting point, then that will
            be the new constraint direction.  In otherwords if
            you first move the mouse horizontally one inch (say)
            then move it vertically 1.3 inches, the direction
            will switch to vertical until any horizontal motion
            exceeds 1.3 inches.  When the object is positioned
            where desired, click the left to place it if the left
            button was used to start the move (unconstrained), or
            the middle button (constrained) if that button was


10/89                                                     Page 13







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


            used.

      MOVE  Move object.  Click the left (unconstrained move) or
            middle (constrained move) button on any corner marker
            of the object to be moved.  The horizontal/vertical
            constrained movement (middle button) works exactly as
            described for MOVE POINT.

      ADD POINTS
            Add points to POLYLINE, POLYGON, SPLINE, or CLOSED
            SPLINE objects (points of a BOX can not be added or
            deleted).  Note that a REGULAR POLYGON is really an
            ordinary POLYGON, so adding points to this object is
            allowed and does NOT keep the polygon regular.

      COPY / CUT TO CUT BUFFER
            Copy object to canvas or cut buffer.  Click the left
            (unconstrained copy) or middle (constrained copy)
            button on any corner marker of the object to be
            copied (for CIRCLE and ELLIPSE objects, mouse may
            also be clicked on their circumferences).  The object
            will be duplicated and then moved exactly as in MOVE.
            If the right button is clicked on an object, that
            object is copied to the cut buffer for pasting into
            this or another figure.  The file used for the cut
            buffer is called .xfig in the user's $HOME directory.
            This allows a user to run two or more xfig processes
            and cut/paste objects between them.  If there is no
            $HOME, a file is created in /tmp, called xfigPID
            where PID is the xfig process ID.

      DELETE POINTS
            Delete points from POLYLINE, POLYGON, SPLINE, or
            CLOSED SPLINE.  Objects (points of a BOX or ARC-BOX
            can not be added or deleted). Note that a REGULAR
            POLYGON is really an ordinary POLYGON, so deleting
            points from this object is allowed and does NOT keep
            the polygon regular.

      DELETE
            Click the left button on an object to delete the
            object.  Delete a region of the canvas by clicking
            the middle button and dragging the mouse to define an
            area of objects to delete.  Clicking the right button
            on an object will copy the object to the cut buffer
            (see COPY/CUT TO CUT BUFFER above).

      EDIT OBJECT
            Edit settings for an existing object.  Click the left
            button on the object and a pop-up menu will appear
            showing existing settings for the object.  Some of
            the menu entries may be changed by typing new values


Page 14                                                     10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


            in the appropriate windows. These are editable Ascii-
            TextWidgets and allow cut and paste.  Others pop up a
            sub-menu of multiple choices when pressed and held.
            Press the "done" button to apply the changes to the
            object and finish.  Press the "apply" button to apply
            the changes but keep the menu up for further changes.
            Press the "cancel" button to cancel the changes and
            pop down the menu.

            The following table shows which settings are used for
            the different objects.

_________________________________________________________________________________________
|               |  † Angle
|
Area
|
Line| Line| Box| ‡ Depth
|
* Color
|
Radius
|
Text | | Object | | Fill
|
Width
|
Style
|
Curve
|
| | | Font Just. Size| ||||||||||||| |Arc | | \/| \/ | \/ | | \/ | \/ | | | | | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| |Arc-Box | | \/| \/ | \/ | \/ | \/ | \/ | | | | | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| |Circle | \/ | \/| \/ | \/ | | \/ | \/ | \/ | | | | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| |Ellipse | \/ | \/| \/ | \/ | | \/ | \/ | \/ | | | | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| |EPS | | | | | | \/ | \/ | | | | | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| |Box, Line, | | | | | | | | | | | | |Polygon, Spline| | \/| \/ | \/ | | \/ | \/ | | | | | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| |Text | \/ | | | | | \/ | \/ | | \/| \/ | \/ | |_______________|________|____|_____|_____|_____|_______|_______|______|____|_____|_____| † The angle may be set, but the object will only be rotated on Postscript output. The angle may only be set with the popup edit menu. ‡ The depth defines how overlapping objects are displayed. Objects with a greater depth value are obstructed by objects with smaller depth value. This may only be changed in the popup edit menu. * Although the color of objects is not yet supported by xfig or any of the output translators, the color value (integer) may be edited in objects using the popup edit menu. UPDATE By pressing the left button on an object, the current settings for the indicator buttons (line width, line style, area fill etc.) are copied into that object. If the middle button is clicked on an object, the settings in the object are copied into the indicator 10/89 Page 15


XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


            button settings.  Thus, one may copy attributes of
            one object to another.  The depth and color
            attributes are not copied when updating objects.

      FLIP VERTICALLY
            Flip the object up/down (left button) or copy the
            object and flip it (middle button). Point to part of
            the object, click the appropriate button.  That
            object will be flipped vertically about that point.

      FLIP HORIZONTALLY
            Flip the object left/right (left button) or copy the
            object and flip it (middle button). Point to part of
            the object, click the appropriate button.  That
            object will be flipped horizontally about that point.

      ROTATE CLOCKWISE
            Rotate the object (left button) or copy and rotate it
            (middle button) -N degrees (clockwise), where N is
            the amount set in the rotation indicator button.  The
            object is rotated about the chosen point.  Not all
            objects can be rotated, and not all can be rotated at
            arbitrary angles.  For example, BOX, ARC-BOX and EPS
            objects may only be rotated by multiples of 90
            degrees, and TEXT objects may not be rotated at all.
            If a COMPOUND object contains any TEXT objects, the
            texts are moved but not rotated.

      ROTATE COUNTER-CLOCKWISE
            Rotate the object (left button) or copy (middle
            button) +N degrees (counter-clockwise), where N is
            the amount set in the rotation indicator button.  The
            object is rotated about the chosen point.

      SPLINE <-> POLYLINE
            Turn POLYGON into a CLOSED INTERPOLATED SPLINE
            object, or turn POLYLINE into a INTERPOLATED SPLINE
            object.

      ADD/DELETE ARROWS
            Add or delete arrow heads of ARC, POLYLINE or SPLINE
            objects.  Add an arrow head by clicking the left
            button on the endpoint of the object.  Delete an
            arrow head by clicking middle button on the endpoint
            or arrow head.

PANNING
      The figure may be panned by clicking the left, middle or
      right mouse button in the rulers.  Clicking the left button
      in the top ruler will pan the image to left the by 1/2 inch
      (1cm in metric mode), adjusted for zoom factor. Clicking
      the right button in the top ruler will pan the image right


Page 16                                                     10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


      by the same amount.  By pressing and holding the middle
      button the user may drag the ruler by the amount desired,
      thus panning the image by that amount.

      The figure is panned up and down in the same way by
      clicking the mouse in the ruler on the right of the canvas.
      Also, the figure can be returned to it's origin by clicking
      the left mouse button in the unit's box.

      The arrow keys may also be used to pan the image and the
      home key to return the figure to the origin.


X DEFAULTS
      The overall widget name(Class) is xfig(Fig).  These
      resources correspond to the command line arguments:
      Name                  Class                 Type      Default    Command-line equivalent
      ________________________________________________________________________________________________
      justify               Justify               boolean   false      -left (false) and -right (true)
      landscape             Orientation           boolean   true       -Landscape and -Portrait
      pwidth                Width                 integer   10(8)      -pwidth
      pheight               Height                integer   8(9.5)     -pheight
      trackCursor           Track                 boolean   on         -track and -notrack
      inches                Inches                boolean   true       -inches, -imperial,
                                                                       -centimeters and -metric
      reverseVideo          ReverseVideo          boolean   off        -inverse
      debug                 Debug                 boolean   off        -debug
      normalFont            NormalFont            string    fixed      -normal
      boldFont              ButtonFont            string    8x13bold   -bold
      startfontsize         StartFontSize         integer   12         -startfontsize
      showallbuttons        ShowAllButtons        boolean   false      -showallbuttons
      internalborderwidth   InternalBorderWidth   integer   1          -internalBW

WIDGET TREE
      Below is the widget structure of xfig.  The widget class
      name is given first, followed by the widget instance name.

      Fig  xfig
           Form  form
                Form  commands
                Label  message
                     Command  button (one for each of the 8 buttons)
                Label  mouse_panel
                Box  mode_panel
                     Label  label
                     Command  button (one for each of the 16 drawing mode buttons)
                     Label  label
                     Command  button (one for each of the 18 editing mode buttons)
                Label  topruler
                Label  canvas
                Label  unitbox
                Label  sideruler


10/89                                                     Page 17







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


                Box  ind_panel
                     Command  button (one for each of the 17 indicator buttons)
                TransientShell  xfig: ps font menu
                     Box  menu
                          Form  buttons
                               Command  cancel
                               Command  use latex fonts
                          Command  pane (one for each of the 35 Postscript font panes)
                TransientShell  xfig: latex font menu
                     Box  menu
                          Form  buttons
                               Command  cancel
                               Command  use postscript fonts
                          Command  pane (one for each of the 6 LaTeX font panes)
           TransientShell  xfig: file menu
                Form  file_panel
                     Label  dir label
                     Text  directory
                     Label  file label
                     Text  file
                     Label  file status
                     Command  cancel
                     Command  save
                     Command  load
                     Command  merge
           TransientShell  xfig: export menu
                Form  export_panel
                     Label  mag label
                     Text  magnification
                     Label  orient label
                     MenuButton  landscape
                          SimpleMenu  menu
                               SmeBSB  portrait
                               SmeBSB  landscape
                     Label  lang label
                     MenuButton  ps
                          SimpleMenu  menu
                               SmeBSB  box
                               SmeBSB  epic
                               SmeBSB  eepic
                               SmeBSB  eepicemu
                               SmeBSB  latex
                               SmeBSB  null
                               SmeBSB  pic
                               SmeBSB  pictex
                               SmeBSB  ps
                               SmeBSB  pstex
                               SmeBSB  pstex_t
                               SmeBSB  textyl
                               SmeBSB  tpic
                               SmeBSB  Xbitmap
                     Label  file label


Page 18                                                     10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


                     Label  file label
                     Label  file label
                     Text  file
                     Command  cancel
                     Command  export
           TransientShell  xfig: print menu
                Form  print_panel
                     Label  printer image
                     Label  mag label
                     Text  magnification
                     Label  orient label
                     MenuButton  landscape
                          SimpleMenu  menu
                               SmeBSB  portrait
                               SmeBSB  landscape
                     Label  just label
                     MenuButton  flush left
                          SimpleMenu  menu
                               SmeBSB  flush left
                               SmeBSB  centered
                     Label  dir label
                     Text  printer
                     Command  cancel
                     Command  print

           NOTE:  The following is a typical popup edit panel (for ARC-BOX)
                  The panel will be different for other objects.

           TransientShell  xfig: edit panel
                Form  form
                     Label  POLYLINE:ArcBox
                     Label  image
                     Command  done
                     Command  apply
                     Command  cancel
                     Label
                     Label  Width =
                     Text  Width =
                     Label  Color =
                     Text  Color =
                     Label  Depth =
                     Text  Depth =
                     Label  Area fill =
                     MenuButton  No fill
                          SimpleMenu  menu
                               SmeBSB  No fill
                               SmeBSB  Filled
                     Label  Fill density % =
                     Text  Fill density % =
                     Label  Line style =
                     MenuButton  Solid Line
                          SimpleMenu  menu


10/89                                                     Page 19







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


                               SmeBSB  Solid Line
                               SmeBSB  Dashed Line
                               SmeBSB  Dotted Line
                     Label  Dash length/Dot gap =
                     Text  Dash length/Dot gap =
                     Label  Top Left:
                     Label  Top Left:
                     Text  Top Left:
                     Label  Top Left:
                     Text  Top Left:
                     Label  Bottom Right:
                     Label  Bottom Right:
                     Text  Bottom Right:
                     Label  Bottom Right:
                     Text  Bottom Right:
                     Label  Radius =
                     Text  Radius =

BUGS and RESTRICTIONS
      Please send bug reports, fixes, new features etc. to:
      bvsmith@lbl.gov (Brian V. Smith)

      Not all operations employ smart redrawing of objects which
      are altered as a by product of the operation.  You may need
      to use Redraw in these cases.

      Must compile xfig with -DOPENWIN in order to make xfig
      handle OpenWindows scalable fonts correctly.

      There is a bug in OpenWindows 2.0 which relates to pixmaps
      in widgets.  You must compile xfig with the -DOPENWIN_BUG
      option for this problem.

      If the image is panned or the xfig window iconified and
      de-iconified during the middle of an operation (e.g. while
      drawing a line), the picture will be distorted.  This can
      be corrected using Redraw after the operation is complete.

      Rotated text and ellipses will be displayed horizontally on
      the screen. They will be rotated only when printed on
      Postscript output.

      Corners of object scaled with point positioning in one of
      the grid modes will not always fall on the grid line, but
      to the closest pixel.

SEE ALSO
      Brian W. Kernighan PIC - A Graphics Language for
      Typesetting User Manual
      fig2dev(1) (TransFig package)




Page 20                                                     10/89







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


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

COPYRIGHT
      Original Copyright (c) 1985 by Supoj Sutanthavibul

      Permission to use, copy, modify, distribute, and sell this
      software and its documentation for any purpose is hereby
      granted without fee, provided that the above copyright
      notice appear in all copies and that both that copyright
      notice and this permission notice appear in supporting
      documentation, and that the name of M.I.T. not be used in
      advertising or publicity pertaining to distribution of the
      software without specific, written prior permission.
      M.I.T. makes no representations about the suitability of
      this software for any purpose.  It is provided "as is"
      without express or implied warranty.

AUTHORS
      Many people have contributed to xfig.  Here is a list of
      the people who have contributed the most:

      Original author:
      Supoj Sutanthavibul, University of Texas at Austin

      The LaTeX line drawing modes were contributed by:
      Frank Schmuck, Cornell University
      (schmuck@svax.cs.cornell.edu)

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

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

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

      Area fill, multiple line thicknesses, multiple fonts and
      font sizes, bottom panel, line style/thickness modification
      of objects by:
      Brian V. Smith, Lawrence Berkeley Laboratory
      (standard disclaimer applies)
      (bvsmith@lbl.gov)

      Popup change-object menu by:
      Jon Tombs (jon%robots.oxford.ac.uk@nsfnet-relay.ac.uk), and
      Frank Schmuck (schmuck@svax.cs.cornell.edu)

      Zooming and panning functions, shift key select mechanism


10/89                                                     Page 21







XFIG(1)     UNIX System V(Release 2.1 (Protocol 2.1))     XFIG(1)


      by:
      Dieter Pellkofer (dip@regent.e-technik.tu-muenchen.de), and
      Henning Spruth (hns@regent.e-technik.tu-muenchen.de)

      Depth feature by:
      Mike Lutz (mjl@cs.rit.edu)

      Version 2.1 extensive modifications:  Indicator panel, file
      menu popup, print menu popup, panning with rulers, mouse
      function window, regular polygon, rubberbanding of
      circles/ellipses, filled splines on canvas, dashed/dotted
      splines on canvas, update button, arbitrary angle rotation
      of objects, alignment in compound, object scaling,
      constrained copy/move, corner markers for compound, context
      sensitive corner markers, smarter redraw, undo for compound
      and point move for boxes, cancel object creation, point
      positioning to three resolutions, TransFig scalable text,
      hidden text, special text, save of figure on crash by:

      Paul King (king@cs.uq.oz.au)
      with help from:
      Brian V. Smith (bvsmith@lbl.gov) and Micah Beck
      (beck@cs.cornell.edu)

      Encapsulated Postscript importing by:
      Brian Boyter (root@fstc-chville.army.mil)




























Page 22                                                     10/89





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026