Table of Contents
fig2dev - translates Fig code to various graphics languages
fig2dev
-L language [ -m mag ] [ -f font ] [ -s fsize ] [ other options ] [ fig-file
[ out-file ] ]
Fig2dev translates fig code in the named fig-file
into the specified graphics language and puts them in out-file. The default
fig-file and out-file are standard input and standard output, respectively
Xfig (Facility for Interactive Generation of figures) is a screen-oriented
tool which runs under the X Window System, and allows the user to draw
and manipulate objects interactively. This version of fig2dev is compatible
with xfig versions 1.3, 1.4, 2.0, 2.1, 3.0, 3.1 and 3.2.
Xfig version 3.2.3 and later
saves and allows the user to edit comments for each Fig object. These comments
are output with several of the output languages, such as PostScript, CGM,
LaTeX, MetaFont, PicTeX, (as % comments), tk (as # comments), and pic (as
.\" comments).
- -L
- Set the output graphics language. Valid languages
are box, cgm, epic, eepic, eepicemu, eps, gif, ibmgl, jpeg, latex, map
(HTML image map), mf (MetaFont), mp (MetaPost), mmp (MultiMetaPost), pcx,
pdf, pic, pictex, png, ppm, ps, pstex, pstex_t, sld (AutoCad slide format),
textyl, tiff, tk (tcl/tk), tpic, xbm and xpm.
Notes:
dvips and xdvi must be compiled with the tpic support (-DTPIC) for epic,
eepic and tpic to work.
You must have ghostscript to get the pdf output and the bitmap formats
(png, jpeg, etc.), and the netpbm (pbmplus) package to get gif, xbm, xpm,
and sld output.
- -h
- Print help message with all options for all output languages.
- -m mag
- Set the magnification at which the figure is rendered to mag. The
default is 1.0.
- -f font
- Set the default font used for text objects to font.
The default is Roman; the format of this option depends on the graphics
language in use. In TeX-based languages, the font is the base of the name
given in lfonts.tex, for instance "cmr" for Roman, or "tt" for teletype.
In PostScript, it is any font name known to the printer or interpreter.
- -s size
- Set the default font size (in points) for text objects to fsize.
The default is 11*mag, and thus is scaled by the -m option. If there is no
scaling, the default font is eleven point Roman."
- -V
- Print the program version
number only.
- other options
- The other options are specific to the choice
of graphics language, as described below.
CGM is Computer Graphics
Metafile, developed by ISO and ANSI and is a vector-based plus bitmap language.
Microsoft WORD, PowerPoint and probably other products can import this
format and display it on the screen, something that they won't do with EPS
files that have an ASCII preview.
- -r
- Position arrowheads for CGM viewers
that display rounded arrowheads. Normally, arrowheads are pointed, so fig2dev
compensates for this by moving the endpoint of the line back so the tip
of the arrowhead ends where the original endpoint of the line was. If the
-r option is used, the position of arrows will NOT be corrected for compensating
line width effects, because the rounded arrowhead doesn't extend beyond
the endpoint of the line.
EPIC is an enhancement to LaTeX picture
drawing environment. It was developed by Sunil Podar of Department of Computer
Science in S.U.N.Y at Stony Brook.
EEPIC is an extension to EPIC and LaTeX
picture drawing environment which uses tpic specials as a graphics mechanism.
It was written by Conrad Kwok of Division of Computer Science at University
of California, Davis.
EEPIC-EMU is an EEPIC emulation package which does
not use tpic specials.
- -A
- Scale arrowheads by factor. The width and height
of arrowheads is divided by this factor. This is because EPIC arrowheads
are normally about double the size of TeX arrowheads.
- -l
- Use "\thicklines"
when width of the line is wider than lwidth. The default is 2.
- -v
- Include
comments in the output file.
- -P
- Generate a complete LaTeX file. In other
words, the output file can be formatted without requiring any changes. The
additional text inserted in the beginning and at the end of the file is
controlled by the configuration parameter "Preamble" and "Postamble".
- -S
- Set the scale to which the figure is rendered. This option automatically
sets the magnification and size to scale / 12 and scale respectively.
- -W
- Enable variable line width. By default, only two line widths are available:
The normal line width (thinlines), and thick lines (thicklines), if a line
width of more than one is selected in xfig.
- -w
- Disable variable line width.
Only "\thicklines" and/or "\thinlines" commands will be generated in the
output file.
When variable line width option is enabled, "\thinlines" command
is still used when line width is less than LineThick. One potential problem
is that the width of "\thinlines" is 0.4pt but the resolution of Fig is 1/80
inch (approx. 1pt). If LineThick is set to 2, normal lines will be drawn
in 0.4pt wide lines but the next line width is already 2pt. One possible
solution is to set LineThick to 1 and set the width of the those lines
you want to be drawn in "\thinlines" to 0.
Due to this problem, Variable
line width VarWidth is defaulted to be false.
IBM-GL (International
Business Machines Graphics Language) is compatible with HP-GL (Hewlett-Packard
Graphics Language).
- -a
- Select ISO A4 (ANSI A) paper size if the default
is ANSI A (ISO A4) paper size.
- -c
- Generate instructions for an IBM 6180
Color Plotter with (without) an IBM Graphics Enhancement Cartridge (IBM-GEC).
- -d
- Restrict plotting to a rectangular area of the plotter paper which has
a lower left hand corner at (xll,yll) and a upper right hand corner at
(xur,yur). All four numbers are in inches and follow -d in a comma-sparated
list - xll,yll,xur,yur - with no spaces between them.
- -f
- Load text character
specifications from the table in the fonts file. The table must have 36
entries - one for each font plus a default. Each entry consists of 5 numbers
which specify the 1.) standard character set (0 - 4, 6 - 9, 30 - 39), 2.) alternate
character set (0 - 4, 6 - 9, 30 - 39), 3.) character slant angle (degrees),
4.) character width scale factor and 5.) character height scale factor.
- -l
- Load area fill line patterns from the table in the patterns file. The table
must have 21 entries - one for each of the area fill patterns. Each entry
consists of 5 numbers which specify the 1.) pattern number (-1 - 6), 2.) pattern
length (inches), 3.) fill type (1 - 5), 4.) fill spacing (inches) and 5.) fill
angle (degrees).
- -m
- The magnification may appear as the first element in
a comma separated list - mag,x0,y0 - where the second and third parameters
specify an offset in inches.
- -p
- Load plotter pen specifications from the
table in the pens file. The table must have 9 entries - one for each color
plus a default. Each entry consists of 2 numbers which specify the 1.) pen
number (1 - 8) and 2.) pen thickness (millimeters).
- -P
- Rotate the figure to
portrait mode. The default is landscape mode.
- -S
- Set the pen speed to speed
(centimeters/second).
- -v
- Plot the figure upside-down in portrait mode or
backwards in landscape mode. This allows you to write on the top surface
of overhead transparencies without disturbing the plotter ink on the bottom
surface.
Fig2dev may be installed with either ANSI A or ISO A4 default paper
size. The -a option selects the alternate paper size. Fig2dev does not fill
closed splines. The IBM-GEC is required to fill other polygons. Fig2dev may
be installed for plotters with or without the IBM-GEC. The -c option selects
the alternate instruction set.
- -b borderwidth
- Make blank border around figure of width borderwidth.
- -g color
- Use color
for the background.
- -S smoothfactor
- This will smooth the output by scaling
the figure by the smoothfactor factor, which uses the TextAlphaBits and
GraphicsAlphaBits option in ghostscript to smooth text and graphics Values
of 0, 2 or 4 for smoothfactor are allowed. xfig uses 2 when the "smooth"
option is used in the export panel.
- -t color
- Use color for the
transparent color in the GIF file. This must be specified in the same format
that ppmmake(1)
allows. It may allow an X11 color name, but at least you
may use a six-digit hexadecimal RGBvalue using the # sign, e.g. #ff0000 (Red).
- -q image_quality
- use the integer value image_quality for the
JPEG "Quality" factor. Valid values are 0-100.
- -l
- Sets the
threshold between LaTeX thin and thick lines to lwidth pixels. LaTeX supports
only two different line width: \thinlines and \thicklines. Lines of width
greater than lwidth pixels are drawn as \thicklines. Also affects the size
of dots in dotted line style. The default is 1.
- -d
- Set a separate magnification
for the length of line dashes to dmag.
- -v
- Verbose mode.
LaTeX cannot accurately
represent all the graphics objects which can be described by Fig. For example,
the possible slopes which lines may have are limited. Some objects, such
as spline curves, cannot be drawn at all. Fig2latex chooses the closest
possible line slope, and prints error messages when objects cannot be drawn
accurately
Xfig version 3.2.3 and later saves
and allows the user to edit comments for each Fig object. The fig2dev map
output language will produce an HTML image map using Fig objects that have
href="some_html_reference" in their comments. Any Fig object except compound
objects may used for this. Usually, besides generating the map file, you
would also generate a GIF file, which is the image to which the map refers.
For example, you may have an xfig drawing with an imported image that has
the comment href="go_here.html" and a box object with a comment href="go_away.html".
This will produce an image map file such the user may click on the image
and the browser will load the "go_here.html" page, or click on the box and
the browser will load the "go_away.html" page.
After the map file is generated
by fig2dev you will need to edit it to fill out any additional information
it may need.
- -b borderwidth
- Make blank border around figure of width borderwidth.
fig2dev scales the figure by 1/8 before generating METAFONT
code. The magnification can be further changed with the -m option or by giving
magnification options to mf.
In order to process the generated METAFONT
code, the mfpic macros must be installed where mf can find them. The mfpic
macro package is available at any CTAN cite under the subdirectory: graphics/mfpic
- -C code
- specifies the starting METAFONT font code. The default is 32.
- -n name
- specifies the name to use in the output file.
- -p pen_magnification
- specifies
how much the line width should be magnified compared to the original figure.
The default is 1.
- -t top
- specifies the top of the whole coordinate system.
The default is ypos.
- -x xneg
- specifies the minimum x coordinate value of
the figure (inches). The default is 0.
- -y yneg
- specifies the minumum y coordinate
value of the figure (inches). The default is 0.
- -X xpos
- specifies the maximum
x coordinate value of the figure (inches). The default is 8.
- -Y ypos
- specifies
the maximum y coordinate value of the figure (inches). The default is 8.
- -p
- Enables the use of certain PIC extensions which are known
to work with the groff package; compatibility with DWB PIC is unknown. The
extensions enabled by each option are:
arc Allow ARC_BOX i.e. use rounded corners
line Use the 'line_thickness' value
fill Allow ellipses to be filled
all Use all of the above
psfont Don't convert Postscript fonts generic type
(useful for files going to be Ditroff'ed for
and printed on PS printer). DWB-compatible.
allps Use all of the above (i.e. "all" + "psfont")
In order to include PiCTeX pictures into a document, it
is necessary to load the PiCTeX macros.
PiCTeX uses TeX integer register
arithmetic to generate curves, and so it is very slow. PiCTeX draws curves
by \put-ing the psymbol repeatedly, and so requires a large amount of TeX's
internal memory, and generates large DVI files. The size of TeX's memory
limits the number of plot symbols in a picture. As a result, it is best
to use PiCTeX to generate small pictures.
With PostScript, Fig can be used to create large
posters. The figure will be created by printing multiple pages which can
be glued together. Simply specify the -M option to produce a multi-page output.
Due to memory limitations of most laser printers, the figure should not
be too complicated. Great for text with very big letters.
The EPS driver
has the following differences from PostScript:
o No showpage is generated because the output is meant to be imported
into another program or document and not printed
o The landscape/portrait options are ignored
o The centering option is ignored
o The multiple-page option is ignored
o The paper size option is ignored
o The x/y offset options are ignored
The PDF driver uses all the PostScript
options.
Text can now include various ISO-character codes above 0x7f, which
is useful for language specific characters to be printed directly. Not all
ISO-characters are implemented.
Color support: Colored objects created by
Fig can be printed on a color postscript printer. There are 32 standard
colors: 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. In addition there may be
user-defined colors in the file. See the xfig FORMAT3.2 file for the definition
of these colors. On a monochrome printer, colored objects will be mapped
into different grayscales by the printer. Filled objects are printed using
the given area fill and color. 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 such as bricks, diagonal
lines, crosshatch, etc.
- -b borderwidth
- Make blank border around figure of
width borderwidth.
- -c
- option centers the figure on the page. The centering
may not be accurate if there are texts in the fig_file that extends too
far to the right of other objects.
- -e
- option puts the figure against the
edge (not centered) of the page.
- -g color
- Use color for the background.
- -l
dummy_arg
- Generate figure in landscape mode. The dummy argument is ignored,
but must appear on the command line for reasons of compatibility. This option
will override the orientation specification in the file (for file versions
3.0 and higher).
This and the -p (portrait) option are only honored only for PostScript output,
not Encapsulated PostScript (EPS). This is because the figure doesn't need
to be rotated when generating (EPS); it may be rotated by the program importing
the EPS.
- -M
- Generate multiple pages if figure exceeds paper size.
- -p dummy_arg
- Generate figure in portrait mode. The dummy argument is ignored, but must
appear on the command line for reasons of compatibility. This option will
override the orientation specification in the file (for file versions 3.0
and higher). This is the default for Fig files of version 2.1 or lower.
- -n
name
- Set the Title part of the PostScript output to name. This is useful
when the input to fig2dev comes from standard input.
- -x offset
- shift the
figure in the X direction by offset units (1/72 inch). A negative value
shifts the figure to the left and a positive value to the right.
- -y offset
- shift the figure in the Y direction by offset units (1/72 inch). A negative
value shifts the figure up and a positive value down.
- -z papersize
- Sets the
papersize. Available paper sizes are:
"Letter" (8.5" x 11" also "A"),
"Legal" (11" x 14")
"Ledger" (11" x 17"),
"Tabloid" (17" x 11", really Ledger in Landscape mode),
"A" (8.5" x 11" also "Letter"),
"B" (11" x 17" also "Ledger"),
"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.1cm),
"A0" (84.1cm x 118.9cm),
and "B5" (18.2cm x 25.7cm).
The pstex language is a variant of ps which suppresses formatted
(special) text. The pstex_t language has the complementary behavior: it
generates only LaTeX commands necessary to position special text, and to
overlay the PostScript file generated using pstex. These two drivers can
be used to generate a figure which combines the flexibility of PostScript
graphics with LaTeX text formatting of special text.
- -g color
- Use color for
the background.
- -n name
- sets the Title part of the PostScript output to name.
This is useful when the input to fig2dev comes from standard input.
- -p file
- specifies the name of the PostScript file to be overlaid. If not set or
its value is null then no PS file will be inserted.
- -l dummy_arg
- Generate figure in landscape mode. The dummy argument is ignored, but must
appear on the command line for reasons of compatibility. This option will
override the orientation specification in the file (for file versions 3.0
and higher).
- -p dummy_arg
- Generate figure in portrait mode. The dummy argument
is ignored, but must appear on the command line for reasons of compatibility.
This option will override the orientation specification in the file (for
file versions 3.0 and higher). This is the default for Fig files of version
2.1 or lower.
- -P
- Generate canvas of full page size instead of using the bounding
box of the figure's objects. The default is to use only the bounding box.
- -z papersize
- Sets the papersize. See the POSTSCRIPT OPTIONS for available
paper sizes. This is only used when the -P option (use full page) is used.
[x]fig(1)
, pic(1)
pic2fig(1)
, transfig(1)
Please
send bug reports, fixes, new features etc. to:
xfig-bugs@epb1.lbl.gov (Brian V. Smith)
Arc-boxes are not supported for the
tk output language, and only X bitmap pictures are supported because of
the canvas limitation in tk.
Picture objects are not scaled with the magnification
factor for tk output.
Because tk scales canvas items according to the X
display resolution, polygons, lines, etc. may be scaled differently than
imported pictures (bitmaps) which aren't scaled at all.
Rotated text is only
supported in the IBM-GL (HP/GL) and PostScript (including eps) languages.
Copyright (c) 1991 Micah Beck
Parts Copyright (c) 1985 Supoj Sutantavibul
Parts Copyright (c) 1989-1999 Brian V. Smith
Permission to use, copy, modify,
distribute, and sell this software and its documentation for any purpose
is hereby granted without fee, provided that the above copyright notice
appear in all copies and that both that copyright notice and this permission
notice appear in supporting documentation. The authors make no representations
about the suitability of this software for any purpose. It is provided
"as is" without express or implied warranty.
THE AUTHORS DISCLAIM ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT
OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
Micah Beck
Cornell University
Sept 28 1990
and Frank Schmuck (then of Cornell University)
and Conrad Kwok (then of U.C. Davis).
drivers contributed by
Jose Alberto Fernandez R. (U. of Maryland)
and Gary Beihl (MCC)
Color support, ISO-character encoding and poster support
by
Herbert Bauer (heb@regent.e-technik.tu-muenchen.de)
Modified from f2p (fig to
PIC), by the author of Fig
Supoj Sutanthavibul (supoj@sally.utexas.edu)
University of Texas at Austin.
MetaFont driver by
Anthony Starks (ajs@merck.com)
X-splines code by
Carole Blanc (blanc@labri.u-bordeaux.fr)
Christophe Schlick (schlick@labri.u-bordeaux.fr)
The initial implementation was done by C. Feuille, S. Grobois, L. Maziere
and L. Minihot as a student practice (Universite Bordeaux, France).
Japanese
text support for LaTeX output written by T. Sato (VEF00200@niftyserve.or.jp)
The tk driver was written by
Mike Markowski (mm@udel.edu) with a little touch-up by Brian Smith
The CGM
driver (Computer Graphics Metafile) was written by
Philippe Bekaert (Philippe.Bekaert@cs.kuleuven.ac.be)
Table of Contents