XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
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 under the X Window
System. It runs under X
version 11 release 4 or higher
and requires a two- or 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.
When using a two-button mouse use the <Meta>
key and the right button
at the same time to effect the action of
the middle button.
Xfig is available via anonymous ftp
from ftp.x.org in
/contrib/applications/drawing_tools/xfig.
The TransFig package is used when
printing or exporting the output
from xfig. It is automatically
called by xfig as a back-end processor
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.
Metafont fig2dev
-L mf produces Metafont output.
PostScript fig2dev
-L ps produces an Encapsulated PostScript
output.
IBM-GL
fig2dev -L ibmgl produces a IBM-GL (HP/GL)
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
via anonymous ftp from ftp.x.org in
/contrib/applications/drawing_tools/transfig.
OPTIONS
-help
Print
all command-line options for xfig and quit.
- 1 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
-L[andscape]
Make xfig
come up in landscape mode (10.5" x 8"). This is the
default; however
as the orientation is stored with Fig files,
when you load
a Fig file the orientation will change as required.
This is only
true for files of version 3.0 or higher.
-P[ortrait]
Make xfig
come up in portrait mode (8.5" x 9"). See note about
landscape
mode.
-bol[d] font
Cause
the font used for displaying the file name and confirmation
messages to
be font (default = 8x13bold).
-butt[on] font
Cause
the font used for most buttons to be font (default = 6x13).
-but_[per_row]
number
Specify
the number of buttons wide the mode panel should be.
This is useful
in conjunction with the -pheight parameter to
reduce the
canvas height for small screens.
-cbg color
Use color
as the background color for the canvas. If you want to
set the background
of everything in xfig (e.g. menus, etc.) use
the general
-bg option.
-cfg color
Use color
as the default color for objects. If you want to set
the foreground
of everything in xfig (e.g. menus, etc.) use the
general -fg
option.
-deb[ug]
Turn on debugging
mode. Prints various debugging messages like
font names
etc.
-dep[th]
Choose depth
of visual desired. Your server must support the
desired visual
and depth chosen. Use xdpyinfo to see what
visuals and
depths are supported. See also the -visual option.
-do[ntswitchcmap]
Prevents xfig
from switching to a private colormap if there
aren't enough
colors available in the default colormap. See also
-max_image_colors.
-e[xportLanguage] language
Specifies
the language to be used for when exporting a fig file.
Choices are:
- 2 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Name
Language
-------------------------------------------
box
LaTeX box (figure boundary)
latex
LaTeX picture
epic
LaTeX picture + epic macros
eepic
LaTeX picture + eepic macros
eepicemu
LaTeX picture + eepicemu macros
pictex
PiCTeX macros
ibmgl
IBMGL (or HPGL)
eps
Encapuslated PostScript
ps
PostScript
pstex
Combined PS/LaTeX (both PS and LaTeX parts)
textyl
Textyl special commands
tpic
TPIC
pic
PIC
mf
MF (MetaFont)
acad
ACAD (AutoCad slide)
pcx
PCX
png
PNG
gif
GIF*
jpeg
JPEG (JFIF)
tiff
TIFF
ppm
PPM (portable pixmap package)
xbm
X11 Bitmap
xpm
X11 Pixmap (XPM3 package)
*xfig must
be compiled with USEGIF to have GIF export.
See README
file for patent warning.
-------------------------------------------
-fl[ushleft]
Set the print
option to print the figure flush left. The default
is to center
the figure on the page.
-geom[etry] +X+Y
Do not
use the -geometry option or resource to size xfig. It may
only be used
to position the xfig window. Use -pwidth and/or
-pheight to
specify the canvas size in inches or centimeters.
-iconG[eometry] +X+Y
Specifies
the position for the icon.
-inc[hes]
Make inches
the unit of choice (default).
-internalBW width
Use lines
of width width between all buttons and panels (default
= 1).
-inv[erse]
- 3 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Use inverse
video (white on black).
-k[eyFile] compose-key-file
Use compose-key-file
instead of CompKeyDB for compose (meta) key
database.
If there are no ``/''s in the name, the file must
reside in
the xfig library directory, $XFIGLIBDIR, usually
/usr/local/lib/X11/xfig.
If there are any ``/''s in the name it
is taken as
is (not relative to $XFIGLIBDIR). If there is a
leading ``~/''
in the string then the ``~'' is expanded to the
user's home
directory.
-lat[exfonts]
Start xfig
with LaTeX font selection. Normally, the PostScript
fonts
are available as the default. This flag selects the LaTeX
fonts
to start.
-le[ft]
Change the
position of the side panel window to the left of the
canvas window.
This is the default.
-mag[nification] mag
Set export
and print magnification in %.
-max[_image_colors]
numcols
Limit
the number of colors used for EPS, GIF, JPEG, PCX or XPM
images to
numcols (default 64).
-me[tric]
Make centimeters
the unit of choice.
After xfig
is started you may change the units from metric to
imperial or
vice versa from a popup menu available by pressing
mouse button
3 in the units box where the two rulers meet.
-mo[nochrome]
Use black
and white only.
-mu[ltiple]
Sets multiple
page mode for print or export. See also -single.
-nor[mal] font
Cause
the font used for the message window to be font. This font
is also used
on the canvas when the selected font is not
available
in an X11 font (default = 6x13).
-nos[calablefonts]
Disables use
of the X11R5 or OpenWindows scalable fonts. You
might want
to use this for debugging.
-not[rack]
- 4 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Turn off
cursor (mouse) tracking arrows.
-pa[per_size]
size
Set the
initial paper size for Export and Print. Choices are
Letter (8.5" x 11"),
Legal (8.5" x 14"),
Ledger ( 17" x 11"),
Tabloid ( 11" x 17"),
A (8.5" x 11"),
B ( 11" x 17"),
C ( 17" x 22"),
D ( 22" x 34"),
E ( 34" x 44"),
A4 (21 cm x 29.7cm),
A3 (29.7cm x 42 cm),
A2 (42 cm x 59.4cm),
A1 (59.4cm x 84.1 cm),
A0 (84.1 cm x 118.9cm),
B5 (18.2cm x 25.7cm)
Note that
this doesn't affect the size of the drawing canvas. Use
the -pheight
and -pwidth options for that.
-ph[eight] height
Make the
xfig canvas height high (where height is either cm
or
in, depending
on the -metric setting).
-pw[idth] width
Make the
xfig canvas width wide (where width is either cm or
in,
depending
on the -metric setting).
-ri[ght]
Change the
position of the side panel window to the right of the
canvas window
(default: left).
-sc[alablefonts]
Allows use
of the X11R5 or OpenWindows scalable fonts (this is
the default).
If the scalable fonts aren't available xfig will
automatically
switch to non-scaling fonts.
-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.
-si[ngle]
- 5 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Sets single
page mode for print or export. This is the default.
See also -multiple.
-spec[ialtext]
Start xfig
with the special text mode for text objects. Special
text means
that special characters in the string are not
specially
processed but are passed directly to LaTeX. This is
most useful
for writing LaTeX equations. If this flag is not
set, then
the backslash character '\' is changed to the
\backslash
command, a brace '{' is turned into a brace command
\{, etc.
-spel[lcheckcommand] command
Use command
for the external spell checking program when using
the spell
check/search/replace popup. The string command should
include the
string ``%s'' which is replaced by a temporary
filename.
Default is ``spell %s''.
-startfi[llstyle] stylenumber
Set the
starting fill style for area fill (-1 to 21).
-startfo[ntsize] pointsize
Set the
default font size for text objects (default = 12pt).
-startg[ridmode] modenumber
Set the
starting grid mode (0 to 3). Mode 0 is no grid. In
imperial (inches)
mode, grid mode 1 is 1/4 inch, mode 2 is 1/2
inch and mode
3 is 1 inch. In metric mode, grid mode 1 is 5mm,
mode 2 is
1cm and mode 3 is 2cm.
-startla[texFont] font
Set the
starting font name for LaTeX fonts.
-startli[newidth] width
Set the
starting line width.
-startpo[snmode] modenumber
Set the
starting point positioning mode (0 to 4) In imperial
(inches) mode,
positioning mode 0 is ``any'', mode 1 is 1/16
inch, mode
2 is 1/4 inch, mode 3 is 1/2 inch and mode 4 is 1
inch.
In metric mode, mode 0 is ``any'', mode 1 is 1mm, mode 2
is 5mm, mode
3 is 10mm and mode 4 is 20mm.
-startp[sFont] font
Set the
starting font name for PostScript fonts.
-startt[extstep] stepsize
Set the
starting text step.
-ta[blet]
- 6 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Specifies
that xfig should use the input tablet instead of the
mouse for
drawing. You must have the XInputExtension in your X
server and
an input tablet for this to work. Also, you must
modify the
Imakefile to include the USETAB and TABLIB variables.
-tr[ack]
Turn on cursor
(mouse) tracking arrows (default).
-users[cale] scale
Set the
multiplier for displayed line lengths etc. This factor
is multiplied
by the actual length, radius or diameter of the
object currently
being drawn on the canvas. It is useful for
making scale
drawings, where e.g. 1 inch = 1 foot (userscale =
12.0) or 1cm
= 1m (userscale = 100.0).
-useru[nit] units
The units
string is printed with the length information when
drawing objects.
For example if the userscale = 1.0 and the
userunit
= ft then a line which is 3 inches long on the canvas
would be displayed
as ``length = 3 ft'' when it is being drawn.
After xfig
is started you may change the userscale and the
userunit
from a popup menu available by pressing mouse button 3
in the units
box where the two rulers meet.
-visual visualname
Use visualname
as the visual for xfig. The names are TrueColor
(case is not
important), StaticColor, DirectColor, StaticGray,
GrayScale
and PseudoColor. xfig uses the default visual unless
this is specified.
Your server must support the desired visual.
Use xdpyinfo
to see what visuals and depths are supported. See
also the -depth
option.
-zoom zoomscale
Set the
starting zoom scale.
GRAPHICAL OBJECTS
The objects in xfig are divided
into primitive objects and compound
objects. The primitive
objects are: ARC, CIRCLE, ELLIPSE, POLYLINE,
POLYGON, PICTURE, BOX,
ARC-BOX, CLOSED SPLINE, OPEN 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
may not be flipped. The attributes of any
primitive object can be edited using a popup
panel (discussed below),
so you can, for instance, set the position
of an object manually.
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.
- 7 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
A compound that contains any boxes or
arc-boxes may only be rotated by
90 degrees.
Objects may overlap other objects according
to their ``depth''.
Objects with larger depth number are obscured
by objects with smaller
depth.
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. Conversions
between POLYLINE , POLYGON
, OPENSPLINE and CLOSEDSPLINE are achieved
by the CONVERT tool.
DISPLAY REGIONS
There are ten regions in the xfig
window: the command region, top
ruler, side ruler, drawing mode, editing
mode, filename, message,
mouse function indicator, canvas (drawing
area), and indicator region
with buttons to show and change settings
such as line thickness, line
style, color, etc. (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 region (default: left).
In addition, when the mouse passes over
certain buttons or regions
there are ``balloons'' (messages) which
popup to indicate the function
of the area under the mouse. These
may be turned on and off by
clicking on the button labelled ``Balloons'',
to the right of the
message region. There is a check mark
indicating their state.
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 mouse button 1 on a confirm/cancel popup
menu.
The accelerator <Meta>q will also perform this function.
This and all
other accelerators are defined in the app-defaults
file and
may be changed if desired.
Port/Land
Change
shape of xfig canvas from/to portrait/landscape. Note:
the canvas
will automatically change to the portrait/landscape
configuration
specified in Fig files of version 3.0 or higher
when loading
those files.
New Delete all objects from
the canvas window and erase current file
name to make
a new drawing (may be undone). The accelerator
<Meta>n
will also perform this function. If you attempt to save
the new figure
using the keyboard accelerator <Meta>s or with
mouse button
3 on the File button the popup file menu will appear
for you to
enter a file name.
You may use
the accelerator <Meta>d to delete all the objects
- 8 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
from the
canvas and retain the current file name.
Undo Undo the last object creation,
deletion or modification. The
accelerator
<Meta>u will also perform this function. If an undo
of a Paste
or file Merge is done, any user-defined colors in the
figure pasted
in or the file just merged will NOT be undefined.
Redraw
Redraw
the canvas. There are also two accelerators which do a
redraw - <Meta>r
and <Ctrl>l.
Paste
Paste
the object previously copied into the cut/paste file into
the current
figure (at its original position). The accelerator
<Meta>t
will also perform this function.
File Pressing mouse button 3 on this
button invokes Save function
without popping
up the file panel. Before the figure is saved
the original
file is first renamed with the suffix ``.bak''
appended.
This provides a backup file.
Mouse button
1 or <Meta>f pops up a panel which contains several
file-related
functions. Do not use this function for importing
images (picture
objects). See the ``IMPORTING PICTURE OBJECTS''
section.
Current
Filename
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 the
Filename panel.
Filename
This is an editable AsciiTextWidget which contains
the filename selected either by clicking on a
filename from the Alternatives list or by typing a
name in directly. Pressing return in the Filename
window will Load the file and copy the name to the
Current Filename widget.
Note that xfig will automatically uncompress or
gunzip any files that have .Z, .z or .gz as the
suffix.
(File)
Alternatives
Pressing mouse button 1 on a filename in the file
alternatives window will select that file by
copying the filename into Filename window.
Pressing return in this window will Load the file
specified in the Filename window (if any) or the
Current Filename widget.
- 9 - Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Filename
Mask
A wildcard mask may be typed into this editable
AsciiTextWidget to restrict the search of
filenames to a subset ala the ls command.
Pressing return in this window will automatically
rescan the current directory. This string may be
set by setting the X toolkit resource
Fig*file_panel*mask*string.
Current
Directory
This is an editable AsciiTextWidget which shows
the current directory. It may be modified by the
user to manually set a directory name. When
return is pressed in this window the directory
specified is scanned for files matching the
Filenamemask, if any.
The ~ (tilde) character may be used to specify a
user's home directory, ala unix shell tilde
expansion.
(Directory)
Alternatives
Pressing mouse button 1 on a directory name in the
directory alternatives list will do a ``change
directory'' to that directory.
Pressing mouse button 3 in either the file or
Directory Alternatives window will do a ``change
directory'' to the parent directory.
Load/Merge
figure offset
These two editable AsciiTextWidgets allow one to
load or merge a figure with an offset on the
canvas. The figure will be offset by the amounts
specified (in Fig units) in the X and Y panels. A
negative value in the X offset will shift the
figure to the left, and a negative value in the Y
offset will shift the figure up.
Home
Pressing this button will change the directory to
the $HOME directory of the user.
Rescan
Pressing this button or <Meta>r will rescan the
current directory.
Cancel
Pressing this button or <Meta>c will pop down the
File panel without making any changes to the
directory or file name.
- 10 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Save
Pressing this button or <Meta>s will save the
current contents of the canvas in the file
specified in the Filename window if any, or the
name specified in the Current Filename if the
former is empty. If the filename being saved is
different from the current figure name and that
file already exists a confirmation popup menu will
appear asking the user to confirm or cancel the
save. If there is a filename in the Filename
window it is copied to the Current Filename
window.
The current Export directory is updated to the
current File directory when Save is pressed.
Before the figure is saved the original file is
first renamed with the suffix ``.bak'' appended.
This provides a backup file.
Load
Pressing this button or <Meta>l will clear the
canvas of any current figure and read the figure
from the filename specified in the Filename menu
item if any, or the name specified in the Current
Filename if the former is empty. The figure will
be offset by the amounts specified (Fig units) in
the X and Y load/merge offset widgets. If there
is a figure currently on the canvas and any
modifications have been made to it and not saved,
a popup query window will first appear asking if
the user wishes to discard the current figure or
cancel the Load operation.
The current Export directory is updated to the
current File directory when Load is pressed.
Note that xfig will automatically uncompress or
gunzip any files that have .Z, .z or .gz as the
suffix.
A popup message window will appear and diagnostic
messages will be written if xfig changes any
``illegal'' object values to legal values. For
example, older versions of xfig were lax about
initializing unused parts such as depth, and would
produce very large, random values. Xfig now will
``clean up'' bad values and inform you when it
does so. Also, if you read in an older file
format, xfig will inform you that it is converting
it to the current format for that version of xfig.
This window can be popped down by clicking the
mouse button on the Dismiss button.
- 11 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Merge
Read
Pressing this button or <Meta>r will read the
figure from the filename specified in the Filename
window if any, or the name specified in the
Current Filename if the former is empty, and merge
it with the figure already shown on the canvas.
The figure will be offset by the amounts specified
(Fig units) in the X and Y load/merge offset
widgets. Any user-defined colors in the file
being merged will be renumbered if necessary to
unique values so as not to conflict with any
user-defined colors already defined. There is no
comparison of the color values of the existing
user-defined colors with the colors being merged
in so there may be identical colors with different
numbers.
See Load above for a description of the popup
message window.
Export
Will let
you export the figure to an output file in one
of several
formats. Pressing mouse button 3 on this
button invokes
Export function without popping up the
export panel.
Mouse button
1 or <Meta>e pops up a directory browser
widget and
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. The default is 100%.
Fit to
Page
Pressing this button will set the magnification so
that the figure will just fit the current paper
size with no less than a 1/2 inch margin.
Fig Size:
This label shows the figure size at the current
magnification. It is updated when the panel is
popped up and when the user changes the
magnification and shows the size in inches or cm
depending on the current units.
Paper Size
This is a pulldown menu which allows you to select
the paper size for printing. The choices are:
Letter (8.5" x 11"),
Legal (8.5" x 14"),
- 12 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Ledger ( 17" x 11"),
Tabloid ( 11" x 17"),
A (8.5" x 11"),
B ( 11" x 17"),
C ( 17" x 22"),
D ( 22" x 34"),
E ( 34" x 44"),
A4 (21 cm x 29.7cm),
A3 (29.7cm x 42 cm),
A2 (42 cm x 59.4cm),
A1 (59.4cm x 84.1 cm),
A0 (84.1 cm x 118.9cm),
B5 (18.2cm x 25.7cm)
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, or the
orientation in the Fig file when loading a Fig
file of version 3.0 or higher.
Justification
This window will only be sensitive when the
language selected is ``ps'' (PostScript). You may
choose that the figure is flush left or centered
in the output file.
Pages
With this pulldown menu you can select whether the
figure should be exported as a single page or
multiple pages. The multiple page option would
only be useful if the figure is larger than the
current physical paper size.
Export
Offset
These two editable AsciiTextWidgets allow one to
export a figure with an offset. The figure will
be offset by the amounts specified (in inches or
cm) in the X and Y panels. A negative value in
the X offset will shift the figure to the left,
and a negative value in the Y offset will shift
the figure up. These offsets are in addition to
any centering done with the centering option.
Margin
Width
For the bitmap type export languages such as GIF,
JPEG, etc. an optional white border may be added
around the figure by specifying the margin width
(in pixels).
- 13 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Language
The translation language to use for xfig output.
The default is specified in the resource
Fig.exportLanguage and is Encapsulated PostScript
as xfig is distributed.
Several languages are available; PostScript,
Encapsulated PostScript, LaTeX, TPIC, PIC, Textyl,
IBM/GL (HP/GL), MetaFont, and serveral bitmap
formats; GIF, JPEG (JFIF), PNG, PCX (PC
Paintbrush), ACAD (AutoCad slide), TIFF (no
compression), PPM (Portable Pixmap package), XBM
(X11 monochrome bitmap) and XPM (XPM3 package,
producing color pixmaps).
Image quality
(%)
For JPEG(JFIF) export, this entry will appear, and
you may select the quality factor for the JPEG
image. Valid values are 1 to 100%. The default
quality of 75% seems to be fine for figures
containing only solid objects (no images) and
adequate for figures containing imported images
(GIF, JPEG, etc.).
Transparent
Color
For GIF export, this menu button will appear and
you may choose that one of the colors in the
figure is ``transparent'', meaning that for those
GIF viewers that support transparent color
(Netscape, for example) that color will not appear
in the figure. Instead, the background of the
viewer will show through in place of that color
The default is ``None'' (no transparent color).
Default
Output Filename
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,
e.g. myfigure.ps if PostScript is the current
language used. If the file already exists a
confirmation popup menu will appear asking the
user to confirm or cancel the save.
Output
Filename
This is an editable AsciiTextWidget which contains
the filename to use to write output to a file.
Pressing return in this window will Export the
file and copy the name to the Default Output
Filename widget. If the file already exists a
confirmation popup menu will appear asking the
- 14 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
user to confirm or cancel the save.
(File)
Alternatives
Pressing mouse button 1 on a filename in the file
alternatives window will select that file by
copying the filename into Filename window.
Pressing return in this window will Export the
file and copy the name to the Default Output
Filename widget.
Filename
Mask
A wildcard mask may be typed into this editable
AsciiTextWidget to restrict the search of
filenames to a subset ala the ls command.
Pressing return in this window will automatically
rescan the current directory. This string may be
set by setting the X toolkit resource
Fig*export_panel*mask*string.
Current
Directory
This is an editable AsciiTextWidget which shows
the current directory. It may be modified by the
user to manually set a directory name. When
return is pressed in this window the directory
specified is scanned for files matching the
Filenamemask, if any.
It is automatically updated to follow the current
File directory when a File Load or Save is done.
The ~ (tilde) character may be used to specify a
user's home directory, ala unix shell tilde
expansion.
(Directory)
Alternatives
Pressing mouse button 1 on a directory name in the
directory alternatives list will do a ``change
directory'' to that directory.
Pressing mouse button 3 in either the file or
Directory Alternatives window will do a ``change
directory'' to the parent directory.
Home
Pressing this button will change the directory to
the $HOME directory of the user.
Rescan
Pressing this button or <Meta>r will rescan the
current directory.
- 15 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Cancel
Pressing this button or <Meta>c will pop down the
Export menu without doing any print operation.
Export
Pressing this button or <Meta>e will write
(export) 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. Pressing return in
the Output Filename window will also Export the
file.
Print
Pressing
mouse button 3 on this button invokes Print to
Printer
function without popping up the print panel.
Pressing the
Shift key and mouse button 3 invokes the
Print to
Batch function. Pressing mouse button 1 or
<Meta>p
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.
Fit to
Page
Pressing this button will set the magnification so
that the figure will just fit the current paper
size with no less than a 1/2 inch margin.
Fig Size:
This label shows the figure size at the current
magnification. It is updated when the panel is
popped up and when the user changes the
magnification and shows the size in inches or cm
depending on the current units.
Paper Size
This is a pulldown menu which allows you to select
the paper size for printing. See the Export menu
for the paper sizes.
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, or the
orientation in the Fig file when loading a Fig
file of version 3.0 or higher.
- 16 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
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.
Pages
With this pulldown menu you can select whether the
figure should be printed as a single page or
multiple pages. The multiple page option would
only be useful if the figure is larger than the
current physical paper size.
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 setting the X
toolkit resource Fig*printer*string. If no
resource is set, the environment variable PRINTER
is used.
Print Job
Params
This is an AsciiTextWidget which into which you
may put any extra command-line parameters that
your lpr or lp program needs for printing. If the
meta sequence %f appears in the string the current
figure name will be substituted. It may appear
more than once. This may be set using the
resource Fig*job_params*string.
Figures
in batch
This indicator shows how many figures have been
put in the batch file for printing
Dismiss
Pressing this button or <Meta>c will pop down the
Print menu.
Print FIGURE/BATCH
to Printer
Pressing this button or <Meta>p will send the
current figure (or the batch file if it is has any
figures in it) to the printer, by passing it
through fig2dev to convert it to PostScript then
to the unix lpr (on BSD equivalent Unixes) or lp
(on SYSV systems) program. If the batch file is
printed by this button then it is removed after
printing. The message in the button changes to
reflect whether the batch file will be printed
(when there are any figures in the batch file) or
the current figure.
- 17 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
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
XFIGTMPDIR/xfig-printPID, where XFIGTMPDIR
is the
value of the environment variable by that name and
PID is the process ID of xfig. If the environment
variable XFIGTMPDIR is empty or not set, the /tmp
directory is used. Print FIGURE to Batch Pressing
this button or <Meta>b will append the figure (in
PostScript form) to a batch file. The Print to
Printer button will send the batch file to the
printer.
Clear Batch
Pressing this button or <Meta>x will erase the
accumulated figures from the batch file.
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 mouse
button 1 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). For
those that expect a value, pressing return
in the value part of the
window will set the new value and pop down
the menu.
Pressing mouse button 2 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 mouse
button 3 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 zoom scale is displayed within the zoom button.
Ruler, grid
and linewidth are scaled, too. Pressing mouse button
2 will decrease
the zoom factor by 1.0 unless it is less than 1.0
already in
which case it will reduce to the nearest 0.25.
Pressing mouse
button 3 will increase the zoom factor by 1.0
unless it
is less than 1.0 in which case it will increase it to
the nearest
0.25. Pressing the control key and mouse button 3
together will
set the zoom scale to 1.
The figure
may also be zoomed by defining a zoom rectangle by
pressing the
Control key and mouse button 1 together. This will
define one
corner of the zoom rectangle. Move the mouse and
click mouse
button 1 again to define the opposite corner of the
zoom rectangle.
- 18 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
GRID MODE
With this
button the user may select no grid, 1/4 inch (5mm in
metric mode)
grid 1/2 inch (10mm) grid, or 1 inch (20mm).
POINT POSITION
This button
controls the coarseness of object placement on the
canvas.
The options are exact (on pixel) placement, 1/16 inch
(1mm in metric
mode), 1/4 inch (5mm), 1/2 inch (10mm) or 1 inch
(20mm).
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.
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 mouse button 2 will decrease the
angle in steps
of 15 degrees, while mouse button 3 will increase
the angle
the same amount. To select other angles, press mouse
button 1 and
enter the angle in the popup menu.
DEPTH
The depth
at which new objects will be created may be
set/increased/decreased
with this button.
NUMBER OF POLYGON SIDES
The number
of sides used in creating a REGULAR POLYGON is set
with this
button.
NUMBER OF COPIES
The number
of copies to make when doing a COPY & ROTATE function
on an object.
Each copy will be rotated an additional ROTATION
ANGLE
angle from the previous.
NUMBER OF X (or Y) COPIES
The number
of copies to make in the X (or Y) direction when doing
a COPY
function on an object.
SMART-LINKS MODE
This button
controls the smart-links mode. When turned on, lines
which link
box-like objects together (henceforth called links)
are treated
specially when one of the box-like objects is moved
or copied.
For a copy, the link is also copied. When set to
MOVE
mode, the end point of the link which touches (or is very
near) the
perimeter of the box is moved with the box so that the
- 19 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
box and
the end point remain linked. When set to SLIDE mode, the
end segment
of the link slides so that the box remains linked and
the angle
of the end segment is maintained. This is useful for
keeping the
last segment of a link horizontal or vertical.
(At the moment,
smart-links only work for the MOVE and COPY
functions
and only works for POLYLINE links and box-like objects.
Another limitation
at the moment is that if both ends of a link
touch the
box being operated on, only one end of the link will be
adjusted.)
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, distribute the
centres or
edges evenly, or abut the vertical edges together.
The HORIZONTAL
ALIGN and VERTICAL ALIGN indicator settings are
used together
to align objects inside a compound or in canvas.
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, distribute
the centres
or edges evenly, or abut the horizonaal edges
together.
The HORIZONTAL ALIGN and VERTICAL ALIGN indicator
settings are
used together to align objects inside a compound or
in canvas.
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. This is
the default setting.
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.
- 20 -Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
MANHATTAN
Enforce drawing of lines in the horizontal and
vertical direction only. The name Manhattan comes
from the horizontal/vertical look of the Manhattan
(New York City) skyline.
MOUNTAIN
Enforce drawing of only diagonal lines. The name
comes from the pointed shape of mountains.
FILL STYLE
This button
allows the user to select the area fill
darkness (grey
scale or color intensity) or fill
patterns for
all objects except TEXT and PICTURE, or to
turn off area
fill altogether.
There are
21 ``shades'' going from black to full
saturation
of the fill color, and 21 more ``tints''
from full
saturation + 1 to white. In addition, there
are 16 patterns
(currently only available for
PostScript,
GIF, JPEG, PNG, PCX, ACAD, TIFF, PPM, XPM
and XBM output):
30 degree left-leaning diagonal lines,
30 degree right-leaning diagonal lines,
30 degree crosshatch,
45 degree left-leaning diagonal lines,
45 degree right-leaning diagonal lines,
45 degree crosshatch,
bricks,
circles
horizontal lines,
vertical lines,
90 degree crosshatch,
fishscales,
small fishscales,
octagons,
horizontal ``sawtooth'' and
vertical ``sawtooth''.
PEN COLOR
This button
is used to select one of 32 standard colors
for the borders
of objects, or one of the user-defined
colors
FILL COLOR
This button
is used to select one of 32 standard colors
or user-defined
color to fill objects with if they have
a fill style.
Pressing mouse
button 1 on either the fill or pen color
buttons will
popup an extended color panel, allowing
- 21 - Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
the user
to select either a standard color or a user-
defined color
from menus.
The 32 standard
colors are black, yellow, white, gold,
five shades
of blue, four shades of green, four shades
of cyan, four
shades of red, five shades of magenta,
four shades
of brown, and four shades of pink.
To select
one of the standard colors either click mouse
button 1 on
the desired color and either press Return
or click mouse
button 1 on the ``Ok'' button. The
latter step
will pop down the color panel. You may
also double
click mouse button 1 on the desired color
to select
it and pop down the color panel in one step.
To add a user-defined
color press mouse button on the
``Add Color''
button in the ``User Defined Colors''
section.
User defined colors are assigned values
sequentially
starting from 32 for a maximum of 512
colors.
A user color
may be deleted by pressing mouse button 1
on the color
box to select it and then pressing the
``Del Color''
button.
The last color
deleted may be undeleted by pressing the
``UnDel Color''
button.
To edit a
user color first select the color square by
pressing mouse
button 1 on the desired square. A solid
or dashed
line will be drawn around the box to show
that it is
selected. Then choose the color either by
using the
RGB (red, green, blue) or the HSV (hue,
saturation,
value) sliders or by typing a hexadecimal
value into
the window under the pen or fill color boxes
representing
the red, green and blue components (00 to
FF).
If the latter is used, typing carriage return in
the hexadecimal
window will set the color.
Additionally,
there is a button above each of the RGB
sliders which
when activated will ``lock'' two or more
sliders together
at their current setting and allow you
to increase
or decrease their values together with the
``lock'' slider.
If the user
color being edited was just created, a
dashed line
will be drawn around the box instead of a
solid line
to indicate that it is new. The color that
is currently
in the pen or fill boxes will be copied
into the user
color cell for modification. In this way
you may start
with a standard color or other user color
- 22 - Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
and modify
it from there.
The user color
is said to be ``defined'' when any of
the sliders
is moved or a carriage return is typed into
the hexadecimal
window. This will be shown by a solid
line being
drawn around the square instead of dashed.
The pen or
fill color choice is activated when the
panel is popped
up by the respective button in the
indicator
panel, but you may switch to editing the
other color
by pressing either the ``Edit Pen'' or
``Edit Fill''
button.
Note that
TransFig supports color output for
PostScript.
On monochrome screens the objects are
created with
the selected color, but black (or white)
is used to
draw the objects on the canvas.
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, dash, dot, dash-
dot, dash-dot-dot
and dash-dot-dot-dot. 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.
JOIN STYLE
Lines
may be joined with a miter, rounded or bevel
joint.
This is only used for POLYLINE or POLYGON
objects.
CAP STYLE
The ends
of lines may be capped with butt, round or
projecting
cap. This is only used for POLYLINE, SPLINE
or OPEN
ARC objects.
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,
OPEN SPLINE or OPEN ARC objects.
ARROW TYPE
There
are four types of arrows which may be filled with
- 23 - Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
white
or the object color.
BOX CURVE
The radius
of the corners on ARC-BOX objects may be set
with this
button.
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.
The default is 12 points.
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>. The
default is
a factor of 1.2 times the current font size.
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
mouse button 1 on cancel.
TEXT FLAGS
This button
displays the current setting of the text
flags.
You may use mouse buttons 2 and 3 to step back
and forth
through the three flag settings: Hidden,
Rigid
and Special. To change any of the flags you must
use mouse
button 1 to popup a menu from which you may
change any
or all of the flags.
The Hidden
flag is used for figures that will be used
with LaTeX
and is applicable only to the display of the
document in
xfig. It means that the text itself is not
- 24 - Formatted: August 15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
shown
onscreen, but only the string ``''. This
is to keep
long sequences of LaTeX formatting commands
from making
the screen messy and hard to read. The
default for
the Hidden flag is off.
The Special
Special flag means that special characters
in the string
are not specially processed but are
passed directly
to LaTeX. If this flag is not set,
then the backslash
character '\' is changed to the
\backslash
command, a brace '{' is turned into a brace
command \{,
etc. The default for the Special flag is
off
unless xfig is started with the command-line
parameter
-specialtext (resource specialtext).
The Rigid
attribute forces text to remain the same size
even if inside
a compound object that is scaled up or
down.
The default is off.
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 the
icon representing the desired drawing/editing
function and clicking
mouse button 1. The selected icon
is highlighted, and a message
describing its function appears in the message
window. The hilighting
remains on until another function is selected.
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 mouse button 1.
After that the mouse is moved to the second
point and mouse button 1
is again pressed for the next point.
For those objects which may have
more than two points (e.g. a line), mouse
button 1 may be pressed for
each successive point, and mouse button
2 must be pressed to finish
the object. To create a single point
using the POLYLINE button, press
and release mouse button 2. If the
cap style is rounded, the point
object will be a filled circle. Newly
created points may be deleted
by pressing the shift key and mouse button
1. For the ARC object,
which requires exactly three points mouse
button 1 is used for all
three points.
At any time mouse button 3 may be pressed
to cancel the creation of
the object.
ARC Create an arc. Specify
three points using mouse button 1. The
first and
last points will form the endpoints of the arc and the
second specifies
any point on the arc. There are two types of
arcs, open
and pie-wedge.
- 25 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
BOX Create rectangular
boxes. Start by clicking mouse button 1 on
any corner
of the desired box and finish with the same mouse
button on
the diagonally opposite corner of the box.
ARC-BOX
Create
rectangular boxes with rounded corners. Start and finish
with mouse
button 1 in the same way as BOX. The radius of the
corners is
selected by the BOX CURVE button.
CIRCLE
Create
circles by specifying their radii or diameters. Click
mouse button
1 on the center of the circle and drag the mouse
until the
desired radius or diameter is attained. Click mouse
button 1 again
to finish the circle.
ELLIPSE
Create
ellipses using the same procedure as for the drawing of
circles.
IMPORTING PICTURE OBJECTS
This has
been changed from the previous (2.1) version to be more
generic, allowing
GIF files, JPEG (JFIF) files, PCX (PC
Paintbrush),
X11 bitmap (monochrome) files and X11 pixmap (XPM3)
color files
in addition to Encapsulated PostScript files to be
imported.
Compressed (.Z) and gzipped (.z or .gz) files are also
handled.
You must have the XPM3 libraries installed to use the
XPM import/export
features. See the README and Imakefile files.
A Floyd-Steinberg
dithering is applied to color images for
monochrome
displays.
For EPS files,
xfig will attempt to use Ghostscript to generate a
color image
if xfig is running on an color display. Ghostscript
must be
compiled with with the ``pcx256'' and ``pbmraw'' drivers.
The pbm driver
is used when you run xfig on a monochrome display
and the pcx256
driver is used on a color display.
Ghostscript
is available from prep.ai.mit.edu.
A neural network
color allocation scheme is used when the number
of colors
for all the color images on the canvas exceeds the
lesser of
the number of free colorcells or the value in the
resource Max_image_colors
(command-line parameter
-max_image_colors).
Whenever a new color image is added to the
canvas, the
colors for all the images on the canvas are
reallocated
and the images are redrawn. No reallocation is done
when images
are deleted from the canvas.
Click mouse
button 1 on any corner for the PIC object and finish
by clicking
mouse button 1 again on the diagonally opposite
corner.
The EDIT popup panel will appear and the file name of
- 26 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
the PIC
object may be entered. After pressing DONE or APPLY
(see
the description
of the EDIT panel for the difference between the
DONE
and APPLY buttons) the bitmap part of the PIC object will
appear in
the box just created. If no PIC file is available yet
or no name
is entered or in the case of an Encapsulated
PostScript
file there is no preview bitmap pressing DONE will pop
down the edit
panel and the word <empty> or the PIC file name
will remain
in the PIC box. Later, when the name of the PIC file
is known or
the file is available, you may re-read the PIC file
using the
popup edit panel and the bitmap part of the PIC file
will replace
the name in the box.
If you want
the original size of the PIC object, press the ``Use
orig size''
button and the eps bitmap will enlarge or shrink to
the size specified
in the preview bitmap of the PIC file. If you
want the PIC
object to be approximately the size of the rectangle
specified
with the mouse but want the aspect ratio to be same as
the original,
press either ``Shrink to orig'' or ``Enlarge to
orig'' buttons.
You must press the APPLY button to see these
effects.
The Screen
Capture button will unmap the xfig windows, allowing
you to capture
a rectangular section of the screen to a GIF*
file, which
becomes the current import file. After pressing the
Screen
Capture button you press and release mouse button 1 at one
corner of
the area of the screen you want to capture, drag out
the rectangle
and press and release mouse button 1 to finish.
You may cancel
the operation by pressing either of the two other
mouse buttons.
The filename given to the capture file is the
base of the
figure name plus the time in seconds since 00:00:00
GMT, Jan 1,
1970 (from the Unix time() call), e.g.
myfigure_828065129.gif.
*If xfig was
compiled without the USEGIF symbol then the capture
file is in
PCX format (PC Paintbrush) with the suffix ``.pcx''.
The Edit
Image button will call an external image viewer/editor
(see resource
Fig.image_editor: in the Fig.ad file) to allow you
to edit the
current image. The file is reimported automatically
after exiting
the editor. The xfig windows are automatically
unmapped during
the call of the editor.
The Reread
button will cause xfig to re-read the image file in
case it has
changed. This is useful (e.g.) when you have made
changes to
the image file in a program external to xfig and you
wish to update
the imported image.
The Browse
button which will popup a file browser to allow you to
search directories
for image files. The default search mask will
match *.gif*,
*.jpg*, *.pcx*, *.xpm*, *.xbm*, *.ps* and *.eps*.
This mask
is in the Fig.ad application defaults file.
- 27 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
POLYLINE
Create
polylines (line segments connecting a sequence of points).
Enter points
by clicking mouse button 1 at the desired positions
on the canvas
window. Click mouse button 2 to finish. A single
point object
may be created by simply pressing mouse button 2.
If the cap
style is rounded, the point object will be a filled
circle.
Newly created points may be deleted by pressing the
shift key
and mouse button 1 before pressing mouse button 2.
POLYGON
The function
is similar to 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 mouse button 1 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 mouse button 1 to finish.
INTERPOLATED SPLINE
The function
is similar to POLYLINE except that an open
interpolated
spline (a spline curve that passes through the
control points)
is drawn. At least two points must be entered.
CLOSED INTERPOLATED SPLINE
The function
is similar to POLYGON except that a closed
interpolated
spline is drawn. At least three points must be
entered.
APPROXIMATED SPLINE
The function
is similar to POLYLINE except that an open
approximated
spline (a spline curve that passes through the two
boundary points
and approximates the shape of the other points)
is drawn.
At least two points must be entered.
CLOSED APPROXIMATED SPLINE
The function
is similar to POLYGON except that a closed
approximated
spline is drawn. At least three points must be
entered.
Note: xfig
provides conversion tools to switch between any two of
the following
objects: polylines, polygones, open interpolated
spline, closed
interpolated spline, open approximated spline,
closed approximated
spline. This conversion can be done either
globally for
the whole object (see LINE<->SPLINE and OPEN<-
>CLOSED) or
locally for each individual point (see EDIT POINT).
TEXT Create text strings. Click
mouse button 1 at the desired
position on
the canvas window, then enter text from the keyboard.
Text may be
pasted from the PRIMARY cut buffer (xterm cut/paste
- 28 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
buffer)
by pressing the F18 function key (the Paste key on Sun
keyboards)
or any key/button defined in the translation table for
the canvas.
See the default Fig.ad file for example. Text is
drawn using
the current font, font size and justification
settings.
A Control-H
(backspace) will delete a character to the left of
the cursor,
while the Delete key or Control-D will delete the
character
to the right of the cursor. A Control-X will erase all
the text to
the left of the cursor, while a Control-K will erase
all the text
to the right of the cursor. The Home key or
Control-A
will move the cursor to the start of the text, while
the End key
or Control-E move the cursor to the end of the text.
The left arrow
key or Control-B move the cursor left one
character
and the right arrow or Control-F move the cursor right
one character.
Finish entering/editing text by clicking mouse
button 2 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 mouse
button 2 or
choose any panel button that changes modes (e.g. box,
save, etc).
To edit text, click on an existing text string with
mouse button
1. Insertion of characters will take place at that
point.
Or, use the popup EDIT mode to modify the text.
Eight-bit
characters may be entered using the meta (compose) key.
For example,
to create an ``a umlaut'', press and release either
the Meta key,
the Alt key or the Compose key, then the letter
``a'', then
" (quote). To create a ``c cedilla'', use c
followed by
comma.
When modifying
text in the popup eidt panel, only the Compose key
will work.
The following
is a list of all special characters available using
the Meta,
Alt or Compose keys:
Keys
Character Name
-------------------------------------
!!
upside-down exclamation point
??
upside-down question mark
C/
cent sign
L-
British pound
OX
currency
Y-
yen
__
broken vertical bar
SO
section
""
dieresis
CO
copyright
RO
registered trademark
_a
ordfeminine
- 29 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
_o
ordmasculine
<<
guillemotleft
>>
guillemotright
-|
notsign
--
hyphen
+-
plusminus
^-
macron
^*
degree
^.
periodcentered
^1
onesuperior
^2
twosuperior
^3
threesuperior
14
onequarter
12
onehalf
34
threequarters
**
multiply
-:
division
/u
mu
P!
paragraph
A`
A accent grave
A'
A accent acute
A^
A accent circumflex
A~
A accent tilde
A"
A dieresis
A*
A ring
AE
AE
a`
a accent grave
a'
a accent acute
a^
a accent circumflex
a~
a accent tilde
a"
a dieresis
a*
a ring
ae
ae
C,
C cedilla
c,
c cedilla
D-
Eth
d-
eth
E`
E accent grave
E'
E accent acute
E^
E accent circumflex
E"
E dieresis
e`
e accent grave
e'
e accent acute
e^
e accent circumflex
e"
e dieresis
I`
I accent grave
I'
I accent acute
I^
I accent circumflex
I"
I accent dieresis
i`
i accent grave
i'
i accent acute
- 30 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
i^
i accent circumflex
i"
i dieresis
N~
N tilde
n~
n tilde
O`
O accent grave
O'
O accent acute
O^
O accent circumflex
O~
O accent tilde
O"
O dieresis
O/
O slash
OE
OE
o`
o accent grave
o/
o accent acute
o^
o accent circumflex
o~
o accent tilde
o"
o dieresis
o/
o slash
oe
oe
P|
Thorn
p|
thorn
ss
German ss (s-zed)
U`
U accent grave
U'
U accent acute
U^
U accent circumflex
U"
U dieresis
u`
u accent grave
u'
u accent acute
u^
u accent circumflex
u"
u dieresis
Y'
Y accent acute
y'
y accent acute
y"
y dieresis
-------------------------------------
Note: the
two special characters OE and oe are not displayed on
the screen,
but they are printed by fig2dev.
Spell Checking and String Search in Text Objects
By pressing h in the canvas area a popup
panel will appear which
lets you search for strings in the text
objects and/or do string
replacement and spell checking.
The external spell checking program can
be specified by the
-spellcheckcommand command-line argument
(resource
Fig.spellCheckCommand). The default
is the ``spell'' program. See
the -spellcheckcommand description for usage
details.
The ``Search/Replace/Update'' button will
search all text objects for
the pattern given in the ``Search:'' entry.
A panel pops up showing
any matching text objects. If the ``Replace''
button is pressed, the
- 31 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
matched pattern in the text objects
will be replaced by the string in
the ``Replace with:'' entry. If the
``Update'' button is pressed, the
matching text objects' attributes will be
updated from the current
settings in the bottom indicator panel.
If the search pattern is empty all text
objects will be listed. If
the Update button is pressed in that case,
all text objects will be
updated.
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 mouse button 1: the markers of
one object will be temporarily
highlighted. By repeatedly clicking
mouse button 1 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
Compound
objects are created by first tagging the objects to be
compounded
and then pressing mouse button 3 to group the tagged
objects into
a compound object. Single objects are tagged by
clicking on
them with mouse button 1. A number of objects can be
tagged at
once by using mouse button 2 to define the upper-left
and lower-right
corners of a region enclosing the objects.
Tagged objects
are shown with highlighted markers. Tagged
objects which
are selected (see the SELECTING OBJECTS section
above) will
be temporarily unhighlighted. There is currently no
special command
to tag or untag all of the objects within a
figure.
You can untag all of the objects by changing from GLUE
mode to
some other mode (apart from BREAK) and back again.
BREAK COMPOUND
Break
a compound object into separate component parts. Click
mouse button
1 on one of the corner markers of the compound
object or
along one of the imaginary lines defining the compound
- 32 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
box.
Clicking with mouse button 2 will achieve the same effect
but will also
tag the component parts for re-gluing into a
compound later
(although you will not see the tags until you
change to
the GLUE mode).
OPEN COMPOUND
Open a
compound object temporarily for editing of its components.
The compound
object selected will be opened, and all other
objects in
the figure that are not part of the compound will
disappear.
You can make any changes to objects in the open
compound including
adding and deleting objects. If you delete
all the objects
in the compound, the compound will be removed
entirely.
A popup panel
with two buttons appears which lets you close the
compound again.
The first, labeled ``Close This Compound'' will
close the
currently open compound. If you open a compound within
a compound,
you may close all the compounds with one step by
clicking on
the second button labelled ``Close All Compounds''.
After all
compounds are closed, the rest of the original figure
will reappear.
IMPORTANT
NOTE: A side effect occurs when you open a compound,
delete an
object in that compound, close the compound and
``undo'' the
delete operation. The object you deleted will
reappear but
it will not be part of the original compound
anymore.
You may use this to remove objects from a compound.
Conversely,
if you delete an object from the canvas, open a
compound then
undo the delete of the original object, it will now
be part of
the open compound.
SCALE OBJECT
Any object
may be scaled. If mouse button 1 is pressed on any
corner of
a BOX or ARC-BOX object, then that object will be
scaled proportionally
to its aspect ratio. If pressed on an edge
then that
dimension will be scaled. For other objects only mouse
button 2 may
be used for scaling; said object will be scaled
larger or
smaller about its center. Mouse button 2 may be used
on boxes too.
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
Align
objects. Click mouse button 1 to align objects inside a
compound object
or mouse button 2 to align all objects on canvas
according
to the setting in the VERTICAL ALIGN and HORIZONTAL
ALIGN
indicators. Note that alignment with respect to the canvas
doesn't work
for distributing or abutting. The choices are the
- 33 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
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, along with distributing or
abutting the
objects vertically or horizontally.
MOVE POINT
Modify
the position of a point of any object except TEXT and
COMPOUND
objects. For unrestrained movement, click mouse button
1 over the
desired point, reposition the point, and click the
left
button again. For horizontally or vertically constrained
move, click
mouse button 2 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 other words 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 mouse button 1 to place it if
that button
was used to start the move (unconstrained), or mouse
button 2 (constrained)
if that button was used.
ADD POINTS
Add points
to POLYLINE, POLYGON, OPEN 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.
MODIFY SHAPE
This tool
is activated by holding down the Control and Shift keys
in any of
the EDIT modes. Clicking on a control point of a spline
object with
mouse button 1 (resp. 3) decreases (resp. increases)
the shape
factor of the spline at this point, while clicking with
mouse button
2 allows the user to cycle quickly between the three
basic status
of a control point (i.e. approximation, sharp
interpolation,
smooth interpolation).
MOVE Move object. Click mouse
button 1 (unconstrained move) or mouse
button 2 (constrained
move) on any corner marker of the object to
be moved.
The horizontal/vertical constrained movement (mouse
button 2)
works exactly as described for MOVE POINT.
COPY / CUT TO CUT BUFFER
Copy object
to canvas or cut buffer. Click mouse button 1
(unconstrained
copy) or mouse button 2 (constrained copy) 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.
- 34 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
If the
number of X or Y copies is non-zero (from the bottom
panel) then
that many copies will be made in each respective
direction,
spaced evenly by the amount of the distance the object
is placed
from the original object.
If mouse button
3 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 a temporary directory called xfigPID where PID
is
the xfig
process ID. The temporary directory used is specified
in the environment
variable XFIGTMPDIR. If that variable is
empty or not
set then /tmp is used.
DELETE POINTS
Delete
points from POLYLINE, POLYGON, OPEN 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
mouse button 1 on an object to delete the object. Delete a
region
of the canvas by clicking mouse button 2 and dragging the
mouse to define
an area of objects to delete. Clicking mouse
button 3 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 mouse button 1 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 in the appropriate windows. These are
editable AsciiTextWidgets
and allow cut and paste. Others pop up
a sub-menu
of multiple choices when pressed and held. Yet others
are buttons
which toggle a setting on or off (e.g. arrow heads on
lines).
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.
- 35 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Object Angle Fill Line Line
Cap Join Box Pen Fill Radius
Style Width Style Style Style Curve Color Color
-----------------------------------------------------------------------
Arc
+ + +
+
+ +
-----------------------------------------------------------------------
Arc-Box
+ + +
+ + +
-----------------------------------------------------------------------
Circle +
+ + +
+ + +
-----------------------------------------------------------------------
Ellipse + +
+ +
+ + +
-----------------------------------------------------------------------
PIC*
+
-----------------------------------------------------------------------
Box
+ + +
+ +
+
-----------------------------------------------------------------------
Polygon
+ + +
+ +
+
-----------------------------------------------------------------------
Line
+ + +
+ +
+ +
-----------------------------------------------------------------------
Spline
+ + +
+
+ +
-----------------------------------------------------------------------
Text +
+
-----------------------------------------------------------------------
* Encapsulated
PostScript picture objects don't use any of the
above attributes.
The PostScript image is self-defined.
However, X11
bitmap picture objects use the pen color for
coloring the
bitmap image.
EDIT POINT
In the
EDIT OBJECT mode, click on a control point of a spline
with mouse
button 3 to call the EDIT POINT window. Set the shape
factor either
with the scrollbar for arbitrary values, or with
the buttons
for preset values. Modifications are displayed
interactively
(the fill pattern, if any, will be temporally
removed during
the edition, to provide interactive rates).
UPDATE
By pressing
mouse button 1 on an object, the current settings for
the indicator
buttons (line width, line style, area fill etc.)
which have
been selected for update are copied into that object.
When xfig
is started, all indicator buttons which are components
of objects
are selected for update. To unselect an indicator,
click on the
update button and click mouse button 1 on the small
button in
the upper-right corner of the indicator. When that
indicator
is selected the foreground color (default black) shows.
When it is
unselected the background color (default white) shows.
If mouse button
2 is clicked on an object, the settings in the
object that
are selected by the indicator buttons are copied into
those indicator
button settings. Thus, one may copy selected
- 36 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
attributes
of one object to another.
FLIP VERTICALLY
Flip the
object up/down (mouse button 1) or copy the object and
flip it (mouse
button 2). Point to part of the object, click the
appropriate
button. That object will be flipped vertically about
that point.
Optionally,
mouse button 3 may be pressed on the canvas to set an
anchor point
about which the object will be flipped. A crosshair
indicates
the anchor point on the canvas. Pressing this button
again will
unset the anchor point.
FLIP HORIZONTALLY
Flip the
object left/right (mouse button 1) or copy the object
and flip it
(mouse button 2). Point to part of the object, click
the appropriate
button. That object will be flipped horizontally
about that
point.
Optionally,
mouse button 3 may be pressed on the canvas to set an
anchor point
about which the object will be flipped. A crosshair
indicates
the anchor point on the canvas. Pressing this button
again will
unset the anchor point.
ROTATE CLOCKWISE
Rotate
the object (mouse button 1) or copy and rotate it (mouse
button 2)
-N degrees (clockwise), where N is the amount set in
the rotation
indicator button. The object is rotated about the
chosen point.
Optionally,
mouse button 3 may be pressed on the canvas to set a
rotation point
about which the object will be rotated. A
crosshair
indicates the rotation point on the canvas. Pressing
this button
again will unset the rotation point.
Not all objects
can be rotated, and not all can be rotated at
arbitrary
angles. For example, BOX, ARC-BOX and PIC
objects may
only be rotated
by 90 degrees. Text objects may be rotated and
to any angle.
ROTATE COUNTER-CLOCKWISE
Rotate
the object (mouse button 1) or copy (mouse button 2) +N
degrees
(counter-clockwise), where N is the amount set in the
rotation indicator
button. The object is rotated about the
chosen point.
Optionally,
mouse button 3 may be pressed on the canvas to set a
rotation point
about which the object will be rotated. A
crosshair
indicates the rotation point on the canvas. Pressing
this button
again will unset the rotation point.
- 37 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
SPLINE <-> LINE
Click
on mouse button 1 to cycle between polyline, open
interpolated
spline and open approximated spline when the
selected object
is open, or between polygon, closed interpolated
spline and
closed approximated spline when the selected object is
closed.
Click on mouse
button 3 to turn an open object (polyline or open
spline) into
its corresponding closed object (polygon or closed
spline) and
vice versa. The closed object is opened at the
selected point.
ADD/DELETE ARROWS
Add or
delete arrow heads of OPEN SPLINE, POLYLINE or ARC
objects.
Add an arrow head by clicking mouse button 1 on the
endpoint of
the object. Delete an arrow head by clicking mouse
button 2 on
the endpoint or arrow head. The length and thickness
of the arrowheads
may be modified using the popup edit panel.
PANNING
The figure may be panned by clicking
mouse button 1, 2 or 3 in the
rulers. Clicking mouse button 1 in
the top ruler will pan the image
to the left by 1/2 inch (1cm in metric mode),
adjusted for zoom
factor. Clicking mouse button 3 in
the top ruler will pan the image
right by the same amount. By pressing
and holding mouse button 2 the
user may drag the ruler by the amount desired,
thus panning the image
by that amount.
If the Shift key is held down while panning
the movement is five (5)
times the normal rate.
The figure is panned up and down in the
same way by clicking the mouse
in the ruler on the right of the canvas.
If the Shift key is held down while panning
the movement is five (5)
times the normal rate.
The figure can be returned to its origin
by clicking mouse button 1 in
the units (e.g. cm or in)
box.
The arrow keys may also be used to pan the
image and the home key to
return the figure to the origin. Also,
pressing the Control Key and
mouse button 2 will pan the figure to the
origin.
- 38 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
X RESOURCES and DEFAULTS
The overall widget name(Class) is xfig(Fig).
These resources
correspond to the command line arguments:
Name
Class
Type Default Command-line
equivalent
------------------------------------------------------------------------
boldFont
Font
string 8x13bold -bold
but_per_row But_per_row
int 2
-but_per_row
buttonFont
Font
string 6x13 -button
canvasBackground Background
string white -cbg
canvasForeground Foreground
string black -cfg
debug
Debug
boolean off -debug
depth
Depth
integer * -depth
dont_switch_cmap Dont_switch_cmap
boolean false -dontswitchcmap
exportLanguage ExportLanguage
string eps -exportLanguage
flushleft
FlushLeft boolean
false -flushleft
image_editor ImageEditor
string xv -image_editor
inches
Inches
boolean true -inches,
-centimeters,
-imperial,
-metric
internalborderwidth InternalBorderWidth integer 1
-internalBW
justify
Justify
boolean false -left (false),
-right (true)
keyFile
KeyFile
string CompKeyDB -keyFile
landscape
Orientation boolean true
-Landscape,
-Portrait
latexfonts
Latexfonts boolean
off -latexfonts
magnification Magnification
float 100 -magnification
max_image_colors Max_image_colors
integer 64 -max_image_colors
monochrome
Monochrome boolean
false -monochrome
multiple
Multiple
boolean false -multiple
normalFont
Font
string 6x13 -normal
page_size
Pagesize
string Letter/A4 -page_size
pheight
Height
float 8(9.5) -pheight
pwidth
Width
float 10(8) -pwidth
reverseVideo ReverseVideo
boolean off -inverse
rulerthick
RulerThick integer
24 -rulerthick
scalablefonts ScalableFonts
boolean true -scalablefonts
showallbuttons ShowAllButtons
boolean false -showallbuttons
show_balloons Showballoons
boolean true -showballoons
-dontshowballoons
single
Single
boolean true -single
specialtext SpecialText
boolean false -specialtext
spellcheckcommand spellCheckCommand string
spell %s -spellcheckcommand
startfillstyle StartFillStyle
integer 0 -startfillstyle
startfontsize StartFontSize
float 12
-startfontsize
startgridmode StartGridMode
integer 0 -startgridmode
startlatexFont StartlatexFont
string Default -startlatexFont
startlinewidth StartLineWidth
integer 1 -startlinewidth
- 39 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
startposnmode StartPosnMode
integer 1 -startposnmode
startpsFont StartpsFont
string Times-Roman -startpsFont
starttextstep StartTextStep
float 1.2 -starttextstep
trackCursor Track
boolean on -track,
-notrack
userscale
UserScale float
1.0 -userscale
userunit
UserUnit
string in(cm) -userunit
visual
Visual
string *
-visual
zoom
Zoom
float 1.0 -zoom
* Default visual and depth depend on the X server. Use xdpyinfo
to see what visuals
and depths are supported.
------------------------------------------------------------------------
The following are the default keyboard accelerators
as distributed in
the Fig.ad app-defaults file:
(Context)
Keys Function
-----------------------------------------------------
(Main xfig panels)
q Quit xfig
n make New drawing by deleting all objects from
canvas
d Delete all objects from canvas but keep current
filename
u Undo
r Redraw
l
Redraw
t pasTe xfig cutbuffer onto canvas
f popup File menu
e popup Export menu
p popup Print menu
l (re)Load figure from current file
s Save figure to current file
(Popup units panel in corner of rulers)
c Cancel popup unit panel
s Set units
(Popup file panel)
r Rescan current directory
c Cancel
l Load figure
s Save figure
m Merge read into current figure
(Popup export panel)
r Rescan current dirctory
c Cancel
e Export figure
(Popup print panel)
- 40 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
c Cancel
b print to Batch file
p Print to printer
x clear batch file
(Canvas)
c
Draw circle by radius
c
Draw circle by diameter
e
Draw ellipse by radius
e
Draw ellipse by diameter
s
Draw closed approximated spline
s
Draw open approximated spline
i
Draw closed interpolated spline
i
Draw open interpolated spline
p
Draw polygon
l
Draw line
b
Draw box
b
Draw arcbox
p
Draw regular polygon
r
Draw arc
p
Draw picture object
t
Draw text
g
Glue compound
g
Break compound
o
Open compound
s
Scale object
a
Align object in compound
m
Move point
m
Move object
a
Add point to object
c
Copy object
d
Delete point from object
d
Delete object
u
Update object or indicator panel
e
Edit object
f
Flip object up/down
f
Flip object left/right
r
Rotate object clockwise
r
Rotate object counter-clockwise
v
Convert object to/from line/spline or box/arc-box
a
Add/delete arrowhead
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
- 41 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Command quit
Command
delete_all
Command
orient
Command
undo
Command
redraw
Command
paste
Command
file
Command
export
Command
print
Form msg_form
Text
message
Label
file_name
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
Box upd_ctrl_form
Label
upd_ctrl_label
Box
upd_ctrl_btns
Command set_upd
Command clr_upd
Command tog_upd
Viewport ind_panel
Core
clip
Scrollbar
horizontal
Box
ind_box
Form button_form (one for each of the 22 indicator buttons)
Command button
Toggle update (only those indicators that affect creation
of objects have update toggles)
TransientShell
ps_font_menu
Box
menu
Form ps_buttons
Command cancel
Command use_latex_fonts
Command pane (one for each of the 35 PostScript font panes)
TransientShell
latex_font_menu
Box
menu
Form latex_buttons
Command cancel
Command use_postscript_fonts
Command pane (one for each of the 6 LaTeX font panes)
- 42 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
TransientShell file_menu
Form file_panel
Label
file_status
Label
num_objects
Label
cur_file_label
Text
cur_file_name
Label
file_label
Text
file_name
Label
file_alt_label
Viewport
vport
Core clip
Scrollbar vertical
List file_list_panel
Label
mask_label
Text
mask
Label
dir_label
Text
dir_name
Label
dir_alt_label
Command
home
Viewport
dirvport
Core clip
Scrollbar vertical
List dir_list_panel
Command
rescan
Command
cancel
Command
save
Command
load
Command
merge
Label
fig_offset_label
Label
fig_offset_lbl_x
Text
fig_offset_x
MenuButton
Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
Label
fig_offset_lbl_x
Text
fig_offset_x
MenuButton
Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
TransientShell export_menu
Form export_panel
Label
mag_label
Text
magnification
Label
orient_label
MenuButton
orientation
SimpleMenu menu
- 43 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
SmeBSB portrait
SmeBSB landscape
Label
just_label
MenuButton
justify
SimpleMenu menu
SmeBSB Flush left
SmeBSB Centered
Label
export_offset_label
Label
export_offset_lbl_x
Text
export_offset_x
MenuButton
Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
Label
export_offset_lbl_y
Text
export_offset_y
MenuButton
Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
Label
lang_label
MenuButton
language
SimpleMenu menu
SmeBSB LaTeX box (figure boundary)
SmeBSB LaTeX picture
SmeBSB LaTeX picture + epic macros
SmeBSB LaTeX picture + eepic macros
SmeBSB LaTeX picture + eepicemu macros
SmeBSB PiCTeX macros
SmeBSB IBMGL (or HPGL)
SmeBSB Encapsulated PostScript
SmeBSB PostScript
SmeBSB Combined PS/LaTeX (both parts)
SmeBSB Textyl \special commands
SmeBSB TPIC
SmeBSB PIC
SmeBSB MF (MetaFont)
SmeBSB ACAD (AutoCAD Slide)
SmeBSB PCX (PC Paintbrush)
SmeBSB PNG
SmeBSB GIF
SmeBSB JPEG
SmeBSB TIFF (no compression)
SmeBSB PPM
SmeBSB X11 Bitmap (XBM)
SmeBSB X11 Pixmap (XPM)
Label
def_file_label
Label
def_file_name
Label
out_file_name
- 44 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Text file
Label
file_alt_label
Viewport
vport
Core clip
Scrollbar vertical
List file_list_panel
Label
mask_label
Text
mask
Label
dir_label
Text
dir_name
Label
dir_alt_label
Command
home
Viewport
dirvport
Core clip
Scrollbar vertical
List dir_list_panel
Command
rescan
Command
cancel
Command
export
TransientShell print_menu
Form print_panel
Label
printer_image
Label
print_label
Label
mag_label
Text
magnification
Label
orient_label
MenuButton
landscape
SimpleMenu menu
SmeBSB portrait
SmeBSB landscape
Label
just_label
MenuButton
justify
SimpleMenu menu
SmeBSB flush left
SmeBSB centered
Label
printer_label
Text
printer
Label
job_params_label
Text
job_params
Label
num_batch_label
Label
num_batch
Command
dismiss
Command
print
Command
print_batch
Command
clear_batch
TransientShell file_msg
Form file_msg_panel
Text
file_msg_win
Command
dismiss
- 45 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Command clear
TransientShell query_popup
Form query_form
Label
message
Command
yes
Command
no
Command
cancel
TransientShell set_unit_panel
Form form
Label
Unit/Scale settings
Label
Ruler Units =
MenuButton
Imperial (in)
SimpleMenu menu
SmeBSB Metric (cm)
SmeBSB Imperial (in)
Label
Figure units =
MenuButton
Ruler units
SimpleMenu menu
SmeBSB Ruler units
SmeBSB User defined
Label
user_units
Text
Unit/Scale settings
Label
Figure scale =
MenuButton
User defined
SimpleMenu menu
SmeBSB Unity
SmeBSB User defined
Label
scale_factor
Text
1.0000
Command
cancel
Command
set
Popup color panel:
TransientShell set_indicator_panel
Form form
Label
Colors
Command
cancel
Command
set_color_ok
Form
mixedForm (for Pen Color)
Toggle mixedEdit
Core mixedColor
Text tripleValue
Form
mixedForm (for Fill Color)
Toggle mixedEdit
Core mixedColor
Text tripleValue
Label
stdLabel
Form
stdForm
Command stdColor (one for each of 33 std colors)
- 46 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Label userLabel
Form
userForm
Viewport userViewport
Core clip
Scrollbar horizontal
Box userBox
Label colorMemory (one for each user color)
Command addColor
Command delColor
Command undelColor
Form mixingForm
Label redLocked
Label greenLocked
Label blueLocked
Label lockedLabel
Scrollbar redScroll
Scrollbar greenScroll
Scrollbar blueScroll
Scrollbar lockedScroll
Label hueLabel
Label satLabel
Label valLabel
Scrollbar hueScroll
Scrollbar satScroll
Scrollbar valScroll
Close compound popup:
TransientShell close_compound_popup
Form close_compound_form
Command
close_compound
Command
close_all_compounds
TransientShell cmd_balloon_popup
Box box
Label
l_label
Label
r_label
TransientShell mode_balloon_popup
Box box
Label
label
TransientShell unit_balloon_popup
Box box
Label
label
TransientShell mouse_balloon_popup
Box box
Label
label
TransientShell toggle_balloon_popup
Box box
- 47 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Label label
TransientShell search_panel
VendorShellExt
shellext
Form form
Label
search_lab
Text
search_text
Toggle
case_sensitive
Label
replace_lab
Text
replace_text
Command
dismiss
Command
search
Command
replace
Command
spell_button
TransientShell found_text
VendorShellExt
shellext
Form form
Text
found_msg_win
Command
dismiss
Command
do_replace
Command
dismiss
NOTE: The following is a typical
popup edit panel (for ARC-BOX) The
panel will be different for other objects.
TransientShell edit_panel
Form form
Label
POLYLINE:ArcBox
Label
image
Command
done
Command
apply
Command
cancel
Label
Label
Width =
Text
Width =
Label
Border color =
MenuButton
colors
SimpleMenu menu
SmeBSB Black
SmeBSB Blue
SmeBSB Green
SmeBSB Cyan
SmeBSB Red
SmeBSB Magenta
SmeBSB Yellow
SmeBSB White
SmeBSB Blue4
[22 more colors]
SmeBSB Default
Label
Fill color =
- 48 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
MenuButton colors
SimpleMenu menu
SmeBSB Black
SmeBSB Blue
SmeBSB Green
SmeBSB Cyan
SmeBSB Red
SmeBSB Magenta
SmeBSB Yellow
SmeBSB White
SmeBSB Blue4
[22 more colors]
SmeBSB Default
Label
Depth =
Text
Depth =
Label
Fill style =
MenuButton
No fill
SimpleMenu menu
SmeBSB No fill
SmeBSB Filled
SmeBSB Pattern
Label
Fill intensity % =
Text
Fill intensity % =
Label
Fill pattern =
Text
Fill pattern =
Label
Line style =
MenuButton
Solid Line
SimpleMenu menu
SmeBSB Solid Line
SmeBSB Dashed Line
SmeBSB Dotted Line
Label
Dash length/Dot gap =
Text
Dash length/Dot gap =
Label
Radius =
Text
Radius =
Label
First Corner
Label
First Corner
Text
First Corner
Label
First Corner
Text
First Corner
Label
Opposite Corner
Label
Opposite Corner
Text
Opposite Corner
Label
Opposite Corner
Text
Opposite Corner
Popup edit spline point panel:
TransientShell edit_spline_point_panel
Form form
ScrollBar
control_bar
- 49 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Label Use scrollbar to modify tension
Command
done
Command
cancel
Command
Approximated
Command
Angular
Command
Interpolated
The following is the widget structure for
the popup browser available
for the Picture Object edit popup.
TransientShell xfig_browse_menu
Form browse_panel
Label
file_label
Text
file_name
Label
file_alt_label
Viewport
vport
Core clip
List file_list_panel
Scrollbar vertical
Label
mask_label
Text
mask
Label
dir_label
Text
dir_name
Label
dir_alt_label
Command
home
Viewport
dirvport
Core clip
List dir_list_panel
Command
rescan
Command
close
Command
apply
- 50 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
BUGS and RESTRICTIONS
Please send bug reports, fixes, new
features etc. to:
xfig-bugs@epb1.lbl.gov (Brian V. Smith)
Because of the difference of some fonts
in some X servers and the
PostScript fonts on printers, text alignment
can be problematic.
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.
Some servers do not allow bitmaps/pixmaps
taller than the screen
height or wider than the screen width.
That is why there is a limit
on the width of the top ruler and height
of the side ruler. If you
need wider/taller rulers AND your server
allows bigger pixmaps, you
may define MAX_TOPRULER_WD
and/or MAX_SIDERULER_HT in your Imakefile
in the DEFINES line. For example,
to have a maximum top ruler width
of 1160 pixels, add -DMAX_TOPRULER_WD=1160
to your DEFINES line in the
Imakefile.
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.
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.
When zoomed very large, the length of dashes
in dashed lines will top
out at 255 pixels long. This is due
to a restriction in X that the
dash list is defined by char (255 pixels
maximum for a dash). The
figure will print correctly, however.
When you do a copy/rotate or array place
when making multiple copies
of objects, only the creation of the last
object can be undone with
the Undo button.
Modifications to text using the popup search/update/replace/spell
check panel cannot be undone.
See the README file for troubleshooting.
SEE ALSO
Brian W. Kernighan PIC - A
Graphics Language for Typesetting User
Manual
fig2dev(1) (TransFig package)
gs(1) (Ghostscript PostScript previewer)
- 51 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
ACKNOWLEDGEMENT
Many thanks goes to Professor Donald
E. Fussell who inspired the
creation of this tool.
COPYRIGHT
Original Copyright (c) 1985 by Supoj
Sutanthavibul
Parts Copyright (c) 1994 by Brian V. Smith
Parts Copyright (c) 1991 by Paul King
Other Copyrights may be found in various
files
The X Consortium, and any party obtaining
a copy of these files from
the X Consortium, directly or indirectly,
is granted, free of charge,
a full and unrestricted irrevocable, world-wide,
paid up, royalty-
free, nonexclusive right and license to
deal in this software and
documentation files (the ``Software''),
including without limitation
the rights to use, copy, modify, merge,
publish, distribute,
sublicense, and/or sell copies of the Software,
and to permit persons
who receive copies from any such party to
do so, with the only
requirement being that this copyright notice
remain intact. This
license includes without limitation a license
to do the foregoing
actions under any patents of the party supplying
this software to the
X Consortium.
No representations are made about suitability
of this software for any
purpose. It is provided ``as is''
without express or implied
warranty.
PostScript is a trademark of Adobe
Systems Incorporated.
Parts Copyright (C) 1989 by Jef Poskanzer.
Copyright notice for pbmplus code:
Permission to use, copy, modify, and distribute
this
software and its documentation for any purpose
and without
fee is hereby granted, provided that the
above copyright
notice appear in all copies and that both
that copyright
notice and this permission notice appear
in supporting
documentation. This software is provided
``as is'' without
express or implied warranty.
FILES
CompKeyDB
Data base of compose (meta) key sequences for 8-bit
characters. Must be installed in $(XFIGLIBDIR) with
``make install'', or may be specified with command
line option -keyFile or X toolkit resource keyFile.
See the Imakefile.
Fig.ad and Fig-color.ad
Application defaults files which are automatically
installed in the system app-defaults directory with
the make install command.
- 52 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Doc/FORMAT3.1
Description of Fig file format.
CHANGES
Description of bug fixes/new features.
AUTHORS
Many people have contributed to xfig.
Here is a list of the people
who have contributed the most (in chronological
order):
Version 1:
Original author:
Supoj Sutanthavibul,
University of Texas at Austin
The LaTeX
line drawing modes were contributed by:
Frank Schmuck, Cornell
University
Original X11 port
by:
Ken Yap, Rochester
Variable window
sizes, cleanup of X11 port, right hand side panel:
Dana Chee, Bellcore
Cleanup of color
port to X11 by:
John T. Kohl, MIT
Version 2.0:
Area fill, multiple
line thicknesses, multiple fonts and font
sizes, bottom panel,
line style/thickness, (and anything else that
wasn't written by
the others) by:
Brian Smith
(standard disclaimer
applies)
(bvsmith@lbl.gov)
Popup change-object
menu by:
Jon Tombs
Frank Schmuck
Zooming and panning
functions, shift key select mechanism by:
Dieter Pellkofer
Henning Spruth
Depth feature by:
Mike Lutz
Cut/Paste by:
Tom Tkacik
Version 2.1:
- 53 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
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 Smith and
Micah Beck (beck@cs.utk.edu)
Encapsulated PostScript
importing by:
Brian Boyter
Pan/zoom with ctrl
key/mouse by:
Henning Spruth
International characters
by:
Herve Soulard
Directory Browser
based on XDir by:
Win Treese, Digital
Equipment Corporation
Rotated ellipses
by:
James Tough, Dept.
of Computer Science, Heriot-Watt University,
Scotland
Rotated text from
the xvertext package by:
Alan Richardson,
Space Science Centre, School of MAPS, University
of Sussex
Popup scale menu
and dynamic switching between inches and cm by:
Paul King (king@cs.uq.oz.au)
Extensive man page
formatting revisions by:
David W. Sanderson
Display Postscript
code for IBM RS/6000 by:
Dave Hale (dhale@green.mines.colorado.edu)
Version 3.0:
New arrowhead
types, separate pen/fill colors, new file protocol,
more colors with
extended color popup panel, new arc style, new
fill patterns (bricks,
etc), new line join and cap styles, export
offset and file
load offset, XPM import, XBM import and export
- 54 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
(and anything
else that wasn't written by the others) by:
Brian Smith
(Note: the color
popup panel was based on xcoloredit by Richard
Hesketh)
GIF output code
by:
E. Chernyaev (chernaev@mx.decnet.ihep.su)
*
GIF import code
by:
David Koblas from
the giftoppm part of the pbmplus package
XPM export code
(using XPM3 libraries) by:
Karel van Houten
(K.H.C.vanHouten@research.ptt.nl)
Higher figure resolution
(1200dpi) by:
Ross Martin (martin@trcsun3.eas.asu.edu)
Color quantization
using neural network by:
Anthony Dekker (dekker@ACM.org)
[NEUQUANT Neural-Net
quantization algorithm by Anthony Dekker,
1994. See
``Kohonen neural networks for optimal colour
quantization'' in
``Network: Computation in Neural Systems'' Vol.
5 (1994) pp 351-367.
for a discussion of the algorithm.]
Floyd-Steinberg
algorithm for dithering color images on monochrome
displays lifted
from the Pbmplus package by Jef Poskanser.
rotate/flip objects
around/about selected anchor point and
multiple copies
of objects by:
Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de)
Input tablet extension
by:
Greg LaCoste (greg@seismo.do.usbr.gov)
Version 3.1:
The only difference
between protocol version 3.0 and version 3.1
is that the position
of the ``magnet'' has been shifted by 14 fig
units. In
the 2.1 and older versions of xfig the grid was in
multiples of 5 fig
units, but they were on intervals 4, 9, 14, 19,
etc. When
version 3.0 was created, coordinates were simply
multiplied by the
ratio of the resolutions (1200/80 = 15) so
values like 4 became
60 instead of 74 ((4+1)*15 - 1).
The JPEG import/export
code uses the Independent JPEG Group
software (see jpeg/README
for details)
Image browser, editor
and screen capture features by:
Jim Daley (jdaley@cix.compulink.co.uk)
- 55 - Formatted: August
15, 2000
XFIG(1)
XFIG(1)
Release 3.2) (Protocol 3.2)
Version 3.2:
The changes
to the version 3.2 file protocol are the addition of
the paper size,
print/export magnification, single/multiple page
indicator and a
transparent color name used for GIF export to the
header of the file.
The other difference
in the version 3.2 protocol is the
mathematical model
used for splines. The new version uses X-
splines which allows
the user to mix interpolation and
approximation points
in a same curve. More precisely, it means
that an X-spline
curve is neither an interpolated spline nor an
approximated one,
it is BOTH (the behaviour of each point is
controlled by one
single parameter called ``shape factor''). For
additional information
about X-splines, see:
``X-Splines:
A Spline Model Designed for the End User''
by C.
Blanc and C. Schlick, Proceedings of SIGGRAPH'95
http://dept-info.labri.u-bordeaux.fr/~schlick/DOC/sig1.html
Caveat: Because
previous spline models (quadratic B-splines and
Bezier with hidden
points) are no longer supported, curves that
are present in 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 are not exactly the
same as the original
ones. Though they are usually very close,
some hand-fitting
may be needed in some pathological cases.
Inclusion of X-splines
by:
Carole Blanc (blanc@labri.u-bordeaux.fr)
Christophe Schlick
(schlick@labri.u-bordeaux.fr)
Note: the initial
implementation was done by C. Feuille, S.
Grosbois, L.
Maziere and L. Minihot as a student practice
(Universite Bordeaux,
France).
Open/close compound
feature written by
Bill Taylor (bill@mainstream.com)
NOTES
Many bug fixes/cleanups etc. by a host
of faithful users
See the
CHANGES
file for all the credits
The
TransFig
package was written by Micah Beck and
is maintained by Brian Smith
- 56 - Formatted: August
15, 2000