NAME

fig2dev - translates Fig code to various graphics languages
 

SYNOPSIS

fig2dev [-L language] [-m mag] [-s fsize] [-Z maxdimension] [-D +/-rangelist [-K]] [other options] [fig-file [out-file]]
fig2dev -h|-V
 

DESCRIPTION

fig2dev translates fig code in the named fig-file into the specified graphics language and puts them in out-file. The graphics language is inferred from the suffix of out-file, or it must be given with the -L option. The default fig-file and out-file are standard input and standard output, respectively. A minus (-) in place of fig-file or out-file also denotes either standard input or standard output.
 
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, EMF, LaTeX, MetaFont, PicTeX, (as % comments), tk (as # comments), and pic (as .\" comments).
 
 

GENERAL OPTIONS (all drivers)

-L language
Set the output graphics language. Valid languages are box, cgm, dxf, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta driver), gif, ibmgl, jpeg, latex, map (HTML image map), mf (MetaFont), mp (MetaPost), pcx, pdf, pdftex, pdftex_t, pic, pict2e, pictex, png, ppm, ps, pstex, pstex_t, pstricks, ptk (Perl/tk), shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg, textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm. Notes:
 
You must have ghostscript installed to get the pdf output, and ghostscript and one from the netpbm, the ImageMagick or the GraphicsMagick packages to get the bitmap formats (png, jpeg, etc.).
-h
Print help message with all options for all output languages then exit.
-V
Print the program version number and exit.
-D +/-rangelist
With +rangelist, keep only those depths in the list. With -rangelist, keep all depths except those in the list. The rangelist may be a list of comma-separated numbers or ranges separated by colon (:). For example, -D +10,40,55:70,80 means keep only layers 10, 40, 55 through 70, and 80.
-K
The selection of the depths with the -D +/-rangelist option does normally not affect the calculation of the bounding box. Thus the generated document might have a much larger bounding box than necessary. If -K is given then the bounding box is adjusted to include only those objects in the selected depths.
-G minor[:major][:unit]
Draws a grid on the page. Specify thin, or thin and thick line spacing in one of several units. For example, -G .25:1cm draws a thin, gray line every .25 cm and a thicker gray line every 1 cm. Specifying -G 1in draws a thin line every 1 inch. Fractions may be used, e.g. -G :1/2in will draw a thick line every 1/2 inch.
 
Allowable units are: i, in, inch, f, ft, feet, c, cm, mm, and m.
 
Only allowed for PostScript, EPS, PDF, pstricks, tikz and bitmap (GIF, JPEG, etc) drivers.
-j
Enable the I18N internationalization facility.
-m mag
Set the magnification at which the figure is rendered to mag. The default is 1.0. This may not be used with the maxdimension option ( -Z).
-s fsize
Set the default font size (in points, 1/72 inch) 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.
-Z maxdimension
Scale the figure so that the maximum dimension (width or height) is maxdimension inches or cm, depending on whether the figure was saved with imperial or metric units. This may not be used with the magnification option ( -m).
other options
The other options are specific to the choice of graphics language, as described below.

OPTIONS COMMON TO ALL BITMAP FORMATS

-b borderwidth
Make blank border around figure of width borderwidth (1/72 inch).
-F
Use correct font sizes (points, 1/72 inch) instead of the traditional size that xfig/fig2dev uses, which is 1/80 inch. The corresponding xfig command-line option is -correct_font_size.
-g color
Use color for the background.
-N
Convert all colors to grayscale.
-S smoothfactor
This will smooth the output by passing smoothfactor to ghostscript in the -dTextAlphaBits and -dGraphicsAlphaBits options to improve font rendering and graphic smoothing. A value of 2 for smoothfactor provides some smoothing and 4 provides more.

GIF OPTIONS

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

JPEG OPTIONS

-q image_quality
use the integer value image_quality for the JPEG "Quality" factor. Valid values are 0 - 100, with the default being 75.

CGM OPTIONS

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.
 
-a
Generate binary output.
-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.

DXF OPTIONS

DXF is the Drawing Interchange File Format. The output to DXF is experimental.
 
-a
Select ANSI A paper size instead of the default ISO A4.
-d xll,yll,xur,yur
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-separated list - xll,yll,xur,yur - with no spaces between them.
-P
Rotate the figure to portrait mode. The default is landscape mode.
-v
Plot the figure upside-down in portrait mode or backwards in landscape mode.

EMF OPTIONS

EMF is Enhanced Metafile, developed by Microsoft 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.
 
-l lang
Set the compatibility level to lang, where lang is one of win95, win98 or winnt. The default is winnt.
-r
Position arrowheads for EMF viewers that display rounded arrowheads. See the discussion of the -r option for the CGM output driver above.

EPIC OPTIONS

EPIC is an enhancement to LaTeX picture drawing environment.
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. Conrad Kwok has also written the EEPIC driver of fig2dev.
EEPIC-EMU is an EEPIC emulation package which does not use tpic specials.
 
-d factor
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.
-E num
Set encoding for text translation (0 = none, 1 = ISO-8859-1, 2 = ISO-8859-2; default 1).
-F
Don't set the font face, series, and style; only set it's size and the baselineskip. By default, fig2dev sets all 5 font parameters when it puts some text. The disadvantage is that you can't set the font from your LaTeX document. With this option on, you can set the font from your LaTeX document.
If any of the pictures included in your LaTeX document has been generated with -F, then all pictures must be generated with this option.
-f font
Set the default font used for text objects to font, where font is one of rm, bf, it, sf or tt. The default is rm.
-l lwidth
Use "\thicklines" when the width of the line is equal or wider than lwidth. The default is 2.
-P
Generate a complete LaTeX file. In other words, the output file can be formatted without requiring any changes.
-R dummyarg
Allow rotated text. Rotated text will be set using the \rotatebox command. So, you will need to include " \usepackage{graphics}" in the preamble of your LaTeX document. A dummy argument is required after the -R.
If this option is not set, then rotated text will be set horizontally.
-S scale
Set the scale to which the figure is rendered. This option automatically sets the magnification and fsize to scale/12 and scale respectively. Scale must be between 8 and 12, inclusively.
-t stretch
Set the stretch factor of dashed lines to stretch. The default is 30.
-v
Include comments in the output file.
-W
Enable variable line width. By default, only two line widths are available: The normal line width (" \thinlines"), and thick lines (" \thicklines"). See also the -l option above.
-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, the " \thinlines" command is still used when the 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 those lines you want to be drawn in " \thinlines" to 0. Due to this problem, variable line width is disabled by default ( -w).

IBM-GL (HP/GL) OPTIONS

IBM-GL (IBM Graphics Language) is compatible with HP-GL (Hewlett-Packard Graphics Language).
 
-a
Select ANSI A paper size instead of the default ISO A4.
-c
Generate instructions for an IBM 6180 Color Plotter without an IBM Graphics Enhancement Cartridge (IBM-GEC).
-d xll,yll,xur,yur
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-separated list - xll,yll,xur,yur - with no spaces between them.
-f fontfile
Load text character specifications from the table in the file fontfile. 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.
-k
Precede output with PCL command to use HP/GL.
-l pattfile
Load area fill line patterns from the table in the pattfile 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).
-P
Rotate the figure to portrait mode. The default is landscape mode.
-p penfile
Load plotter pen specifications from the table in the penfile 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).
-S speed
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.
-x offset
Shift figure left by offset inches.
-y offset
Shift figure up by offset inches.
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.
 
 

LATEX OPTIONS

-b borderwidth
Make blank border around figure of width borderwidth (1/72 inch).
-d dmag
Set a separate magnification for the length of line dashes to dmag.
-E num
Set encoding for latex text translation (0 = no translation, 1 = ISO-8859-1, 2 = ISO-8859-2; default 1).
-F
Don't set the font face, series, and style; only set it's size and the baselineskip. By default, fig2dev sets all 5 font parameters when it puts some text. The disadvantage is that you can't set the font from your LaTeX document. With this option on, you can set the font from your LaTeX document.
If any of the pictures included in your LaTeX document has been generated with -F, then all pictures must be generated with this option.
-f font
Set the default font used for text objects to font, where font is one of rm, bf, it, sf or tt. The default is rm.
-l lwidth
Sets the threshold between LaTeX thin and thick lines to lwidth pixels. LaTeX supports only two different line widths: \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.
-v
Verbose mode. Include comments in the otput file.
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.
 
 

MAP (HTML image map) OPTIONS

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 be used for this. Usually, besides generating the map file, you would also generate a PNG 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 (1/72 inch).

METAFONT OPTIONS

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
Specify the starting METAFONT font code. The default is 32.
-n name
Specify the name to use in the output file.
-p pen_magnification
Specify how much the line width should be magnified compared to the original figure. The default is 1.
-t top
Specify the top of the whole coordinate system. The default is ypos.
-x xmin
Specify the minimum x coordinate value of the figure (inches). The default is 0.
-y ymin
Specify the minimum y coordinate value of the figure (inches). The default is 0.
-X xmax
Specify the maximum x coordinate value of the figure (inches). The default is 8.
-Y ymax
Specify the maximum y coordinate value of the figure (inches). The default is 8.

METAPOST OPTIONS

-d file
Include file content as additional header.
-i file
Include file content via \input-command.
-M
Multipage mode, generate one figure for each depth.
-o
Old mode (no latex).
-p number
Adds the line "prologues:=number" to the output.

PIC OPTIONS

-f font
Set the default font used for text objects to font, where font is one of R (roman), B (bold), I (italic), H (sans serif) or C (typewriter). The default is R.
-p ext
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")
 

PICT2E OPTIONS

PICT2E is an enhancement to the LaTeX picture environment. It is enabled by inserting " \usepackage{pict2e}" in the document preamble. Depending on the content of the figure, it may be necessary to also include " \usepackage{color}" and "\usepackage{graphics}". Figures produced with the PICT2E driver can be processed with any LaTeX engine, e.g., LaTeX + dvips, LaTeX + dvipdfm, pdflatex, xelatex, ConTeX, etc. Pattern fills are not supported by the PICT2E output language. The PICT2E driver renders patterns by filling the respective area with the pen-color at 25% intensity, i.e., a 75% tint of the pen-color. The PICT2E driver allows one to choose any font available to the LaTeX engine, including PostScript fonts. TeX an PostScript fonts may appear together in the same document.
 
-b borderwidth
Make blank border around figure of width borderwidth*(1/72) inches.
-C num
Do not emit a \color-command for the color number num. (0 = black, 1 = blue, 2 = green - see the color chooser widget in Xfig). By default, fig2dev does not issue a \color-command for objects which have the color set to "Default" in xfig. With this option, the "\color"-command is also omitted for objects having the color num. The color of these objects, as well as of those having the color set to "Default", is picked up from the including LaTeX-document. The option -C 0 is particularly useful. By default, xfig starts with the color set to black. Then, fig2dev emits "\color{black}" commands, and the color-package must be included in the document preamble. For black text and black-and-white drawings, this is superfluous.
-e
Do not try to be compatible with epic/eepic. By default, you can include " \usepackage{pict2e, epic, eepic}" (in this order!) in the document preamble and mix LaTeX pictures using the epic/eepic command set and pictures produced with the PICT2E output language within one document. With this option on, epic or eepic pictures can not be mixed with PICT2E-pictures. By default, fig2dev avoids the use of the "\circle" and "\oval"-commands, which are defined by epic, in lieu of the "\circlearc"-command exclusive to pict2e. In addition, line widths are not only set using "\linethickness", but also with the eepic-command "\allinethickness" (if it is defined).
-E num
Set encoding for text translation (0 = no translation, 1 = ISO-8859-1, 2 = ISO-8859-2; default 1). For instance, to use utf8-encoded text, first create a text object, then edit the text using the edit-button in xfig. Convert the fig-file to pict2e with the option -E 0 and include "\usepackage[utf8]{inputenc}" in the LaTeX file In xfig, the text typed in may not be displayed correctly, but the document produced from the LaTeX file will show the same text as was typed in.
-F
Do not set the font family, series or shape. By default, fig2dev sets the font family, series, shape, font size and baselineskip. With this option on, the text font can be set from the including LaTeX-document, e.g., " \itshape \input{fig1.pict2e}". See also -o (no font size).
-f font
Set the default font used for text objects to font. The string font may be one of rm, bf, it, sf, tt, \rmfamily, \bfseries, \itshape, \sffamily, \ttfamily, or one of the 35 standard PostScript font names. The default is \rmfamily.
-i dir
Prepend the string dir to graphics files included in the pict2e-picture. For instance, having imported "image.jpg" in xfig, with -i '$HOME/Figures/' the code "\incudegraphics{$HOME/Figures/image.jpg}" will be generated.
-o
Do not set the font size or baselineskip. Text will be rendered at the size that is in force where the pict2e-code is inserted into the LaTeX-document, e.g., " \small \input{fig1.pict2e}". See also -F (no font properties).
-O
Do not quote characters special to TeX/LaTeX. Useful to get, e.g., an italic x, not $x$, because it was forgotten to set the text-flag "special-text" in xfig. This option effectively sets the "special-text" flag for all text.
-P
Pagemode, generate a stand-alone LaTeX-file as out-file. The document produced from the LaTeX-file will have the paper size equal to the figure's bounding box (but see the -b option to add a margin). The generated LaTeX-file calls the package "geometry.sty" to set the paper size.
-R num
Replace arrowheads num by LaTeX-arrows ("\vector"). The number of an arrowhead ("Arrow Type" in xfig) can be found by opening the arrow chooser widget in xfig and counting the arrows, starting from 1. For instance, to replace filled triangle arrowheads with LaTeX \vector-commands, use -R 3.
-r
Replace all arrows by LaTeX-arrows.
-T
Only use TeX fonts, even where PostScript-fonts are specified.
-v
Verbose mode. Write comment lines into the output file, usually naming the type of the object that is drawn.
-w
Remove the suffix from included graphics-files. With this option on, fig2dev generates code that contains, e.g., " \includegraphics{fig1}", instead of " \includegraphics{fig1.eps}".

PICTEX OPTIONS

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.
 
-a
Anonymous mode. Do not write the user name into the output file.
-E num
Set encoding for latex text translation (0 = no translation, 1 = ISO-8859-1, 2 = ISO-8859-2; default 1).
-f font
Set the default font used for text objects to font, where font is one of rm, bf, it, sf or tt. The default is rm.
-l dimen
Set line thickness to dimen. Default "1pt".
-p psymbol
Set the psymbol. Default "\makebox(0,0)[l]{\tencirc\symbol{'160}}".
-r
Do not allow rotated text. Otherwise, files with PiCTeX macros and rotated text need to be processed with dvips.

GBX OPTIONS (Gerber, RS-247-X)

Typically you will wish to set the y scale to -1. See -g for more information.
 
-d [mm|in]
Output dimensions should be assumed to be millimeters (mm) or inches (in). The default is millimeters.
-p [pos|neg]
Select the image polarity. For positive images lines drawn in the fig file will generate lines of material. For negative images lines drawn in the fig file will result in removed material. Consider etching a chrome on glass transmission mask. Drawing lines in the fig file and choosing 'neg' will result in these lines being etched through the chrome, leaving transparent lines.
-g <x scale>x<y scale>+<x offset>+<y offset>
This controls the geometry of the output, scaling the dimensions as shown and applying the given offset. Typically you will wish to set the y scale to -1, mirroring about the x axis. This is because Gerber assumes the origin to be bottom left, while xfig selects top left.
-f <n digits>.<n digits>
This controls the number of digits of precision before and after the implied decimal point. With -f 5.3 the following number 12345678 corresponds to 12345.678. Whereas with -f 3.5 it corresponds to 123.45678. The default is for 3 places before the decimal point and 5 after. This corresponds, to a range of 0 to 1m in 10 micron increments.
-v
Output comments describing the type of objects being output. The text appears as comments starting with ## on each line in the output file.

POSTSCRIPT, ENCAPSULATED POSTSCRIPT (EPS), and PDF OPTIONS

With PostScript, xfig can be used to create multiple page figures. Specify the -M option to produce a multi-page output. For posters, add -O to overlap the pages slightly to get around the problem of the unprintable area in most printers, then cut and paste the pages together. 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 EPS driver has the following two special options:
 
-B 'Wx [Wy X0 Y0]'
This specifies that the bounding box of the EPS file should have the width Wx and the height Wy. Note that it doesn't scale the figure to this size, it merely sets the bounding box. If a value less than or equal to 0 is specified for Wx or Wy, these are set to the width/height respectively of the figure. Origin is relative to screen (0,0) (upper-left). Wx, Wy, X0 and Y0 are interpreted in centimeters or inches depending on the measure given in the fig-file. Remember to put either quotes (") or apostrophes (') to group the arguments to -B.
-R 'Wx [Wy X0 Y0]'
Same as the -B option except that X0 and Y0 is relative to the lower left corner of the figure. Remember to put either quotes (") or apostrophes (') to group the arguments to -R.
The PDF driver accepts all of the PostScript options, if the -P (pagemode) option is given. In this case, the size of the PDF is the pagesize given in the file or set from the command line via the -z option. Otherwise, if -P is not given, the PDF is cropped to the bounding box of the figure (optionally with a blank border margin set by the -b option), and all of the EPS options are supported.
 
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.
 
-A
Add an ASCII (EPSI) preview. Not for PDF.
-a
Anonymous mode. Do not write the user's login name into the output file.
-b borderwidth
Make blank border around figure of width borderwidth (1/72 inch).
-C dummy_arg
Add a color *binary* TIFF preview for Microsoft products that need a binary preview. See also -T (monochrome preview). A dummy argument must be supplied for historical reasons. Not for PDF output.
-c
Center 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
Put the figure against the edge (not centered) of the page. Not available in EPS.
-F
Use correct font sizes (points, 1/72 inch) instead of the traditional size that xfig/fig2dev uses, which is 1/80 inch. The corresponding xfig command-line option is -correct_font_size.
-f font
Set the default font used for text objects to font, where font is one of the 35 standard PostScript font names. The default is Times-Roman.
-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). Not available in EPS.
-M
Generate multiple pages if figure exceeds paper size. Not available in EPS.
-N
Convert all colors to grayscale.
-n name
Set the Title part of the PostScript output to name. This is useful when the input to fig2dev comes from standard input.
-O
When used with -M, overlaps the pages slightly to get around the problem of the unprintable area in most printers. Not available in EPS.
-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. Not available in EPS.
-T
Add a monochrome *binary* TIFF preview for Microsoft products that need a binary preview. See also -C (color preview). Not available for PDF output.
-x offset
Shift the figure in the X direction by offset PostScript points (1/72 inch). A negative value shifts the figure to the left and a positive value to the right. Not available in EPS.
-y offset
Shift the figure in the Y direction by offset points (1/72 inch). A negative value shifts the figure up and a positive value down. Not available in EPS.
-z papersize
Set the papersize. Not available in EPS.
 
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"),
A9 ( 37 mm x 52 mm),
A8 ( 52 mm x 74 mm),
A7 ( 74 mm x 105 mm),
A6 (105 mm x 148 mm),
A5 (148 mm x 210 mm),
A4 (210 mm x 297 mm),
A3 (297 mm x 420 mm),
A2 (420 mm x 594 mm),
A1 (594 mm x 841 mm),
A0 (841 mm x1189 mm),
B10 ( 32 mm x 45 mm),
B9 ( 45 mm x 64 mm),
B8 ( 64 mm x 91 mm),
B7 ( 91 mm x 128 mm),
B6 (128 mm x 182 mm),
B5 (182 mm x 257 mm),
B4 (257 mm x 364 mm),
B3 (364 mm x 515 mm),
B2 (515 mm x 728 mm),
B1 (728 mm x1030 mm),
B0 (1030mm x1456 mm).

 

PSTEX and PDFTEX OPTIONS

The pstex and pdftex languages are a variant of ps which suppress text that has the text flag "TeX Text" set. The pstex_t and pdftex_t languages have the complementary behavior: they generate only the text that has the "Tex Text" flag set and the commands necessary to position this text. They also generate the commands necessary to overlay the PostScript or PDF file generated using pstex/pdftex. These two drivers can be used to generate a figure which combines the flexibility of PostScript graphics with LaTeX text formatting of text flagged as "TeX Text".
The pstex and pdftex drivers accept the same options that the EPS driver accepts.
 
-n name
Set the Title part of the PostScript output to name. This is useful when the input to fig2dev comes from standard input.

PSTEX_T and PDFTEX_T OPTIONS

The pstex_t and pdftex_t languages produce only the text flagged with the "TeX Text" flag, the commands necessary to position this text, and the commands necessary to overlay the PostScript or PDF file generated using pstex or pdftex (see above).
 
-E num
Set encoding for latex text translation (0 no translation, 1 ISO-8859-1, 2 ISO-8859-2; default 1)
-F
Don't set the font face, series, and style; only set it's size and the baselineskip. By default, fig2dev sets all 5 font parameters when it puts some text. The disadvantage is that you can't set the font from your LaTeX document. With this option on, you can set the font from your LaTeX document (like " \sfshape \input picture.eepic").
-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.

PSTricks OPTIONS

The PSTricks driver provides full LaTeX text and math formatting for XFig drawings without overlaying separate outputs as in the PSTEX methods. The output matches the quality of output of the PostScript driver except for text, where the Latex font selection mechanism is used as for other fig2dev LaTeX drivers. In addition, text is rendered black, although font color-changing LaTex code can be embedded in the drawing. The generated PSTricks code is meant to be readable. Each command stands alone, not relying on global option state variables. Thus the user can easily use XFig to rough out a PSTricks drawing, then finish by hand editing.
To use the driver's output, give the command " \usepackage{pstricks}" in your document preamble. The graphicx and pstricks-add packages may also be required. The former is used for bitmap graphics and the second for complex line styles and/or hollow PSTricks arrows (with the -R 1 option). The driver will tell you which packages are needed. In the document body, include the figure with " \input{pstfile}" where pstfile.tex is the output file. Use the XFig TeX text flag to have text passed as-is to LaTeX. For non-TeX text, the same mechanism as the LaTeX and epic driver mechanism is used to match font specs, but this is imprecise.
 
Known bugs and limitations.
PSTricks support for join styles is version dependent. Raw postscript is inserted with " \pstVerb" for old versions when other than angle joins are needed. The -t option controls this behavior. PSTricks does not support rotated ellipses directly, so a rput command is emitted that rotates and locates a horizontal ellipse. This makes a problem with hatch patterns, which are moved and rotated along with the ellipse. Hatch rotation is fixed by a counter-rotation, but the origin is not adjusted, so registration with adjacent hatch patterns will be incorrect. Flipped bitmap graphics use an undocumented feature of the graphicx package: a negative height flips the image vertically. This appears to work reliably. However, you may want to flip graphics with another program before including them in Xfig drawings just to be sure. With the -p option, the driver attempts to convert non-EPS pictures to EPS with the TeX distribution's bmeps program, but bmeps does not know about very many file formats including gif.
-f font
Set the default font used for text objects to font, where font is one of rm, bf, it, sf or tt. The default is rm.
-G dummy_arg
Draws a standard PSTricks grid in light gray, ignoring the size parameters, numbered in PSTricks units.
-l weight
Sets a line weight factor that is multiplied by the actual Fig line width. The default value 0.5 roughly matches the output of the PS driver.
-n 0|1|2|3
Sets environment type. Default 0 creates a \picture environment with bounding box exactly enclosing the picture (but see -x and -y ). A 1 emits bare PSTricks commands with no environment at all, which can be used with \input{commands} inside an existing \pspicture. A 2 emits a complete LaTeX document. A 3 also emits a complete LaTeX document but attempts to set the PSTricks unit to fit a 7.5 by 10 inch (portrait aspect) box.
-P
Shorthand for -n 3.
-p dir
Attempts to run the bmeps program to translate picture files to EPS, which is required by PSTricks. The translated files go in dir , which must already exist (the driver will not create it). Moreover, (BIG CAVEAT HERE) the driver overwrites files with impunity in this directory! Don't put your stuff here. The includegraphics commands in the output file refer to this directory. Even if the -p option is not used, includegraphics commands follow this convention with the default directory ./eps . In this case, the user must do the conversions independently. The bmeps program is part of the standard TeX distribution. It converts the following formats to EPS: png jpg pnm tif. You can see the bmeps command with the -v option.
-R 0|1|2
Sets arrow style. With the default style 0, Fig arrows are converted to lines and polygons. With style 1, the Fig arrowhead dimensions are converted to PSTricks arrowhead dimensions and PSTricks arrowhead options are emitted. Hollow arrows will require the additional package pstricks-add. With style 2, PSTricks arrowhead options are emitted with no dimensions at all, and arrowhead size may be controlled globally with psset.
-S scale
Scales the image according to the same convention as the EPIC driver, i.e., to size scale/12.
-t version
Provides the driver with PSTricks version number so output can match expected LaTeX input.
-v
Print verbose warnings and extra comments in the output file. Information provided includes font substitution details, the bmeps commands used for picture conversion, if any, and one comment per Fig object in the output.
-x marginsize
Adds marginsize on the left and right of the PStricks bounding box. By default, the box exactly encloses the image.
-y marginsize
Adds marginsize on the top and bottom of the PStricks bounding box. By default, the box exactly encloses the image.
-z 0|1|2
Sets font handling option. Default option 0 attempts to honor Fig font names and sizes, finding the best match with a standard LaTeX font. Option 1 sets LaTeX font size only. Option 2 issues no font commands at all.

TEXTYL OPTIONS

-f font
Set the default font used for text objects to font, where font is one of rm, bf, it, sf or tt. The default is rm.
-l lwidth
Set the line thickness. lwidth must be a value between 1 and 12.

TIKZ OPTIONS

TIKZ is a powerful frontend to the Portable Graphics Format (PGF) for TeX/LaTeX. To use figures created by the TIKZ driver in a LaTeX document, use " \usepackage{tikz}" and, depending on the contents of your figure, " \usetikzlibrary{arrows.meta, bending}" and " \usetikzlibrary{patterns}" in the document preamble. Simply \input or copy the output file into the TeX-document. TIKZ files produced by fig2dev may be included into a plain TeX document. However, the stand-alone file produced with the -P option must be processed with a LaTeX-engine. In addition, font-commands may require a LaTeX engine.
 
-b borderwidth
Make blank border around figure of width borderwidth*(1/72) inches.
-C num
Do not emit a \color-command for the color number num. (0 = black, 1 = blue, 2 = green - see the color chooser widget in Xfig). By default, fig2dev does not issue a \color-command for objects which have the color set to "Default" in xfig. With this option, the "\color"-command is also omitted for objects having the color num. The color of these objects, as well as of those having the color set to "Default", is picked up from the including document.
-E num
Set encoding for text translation (0 = no translation, 1 = ISO-8859-1, 2 = ISO-8859-2; default 1). For instance, to use utf8-encoded text, first create a text object, then edit the text using the edit-button in xfig. Convert the fig-file to tikz with the option -E 0 and include " \usepackage[utf8]{inputenc}" in the LaTeX file (not necessary when using xelatex). In xfig, the text typed in may not be displayed correctly, but the document produced from the LaTeX file will show the same text as was typed in.
-F
Do not set the font family, series or shape. By default, fig2dev sets the font family, series, shape, font size and baselineskip. As a side effect, this requires the New Font Selection Scheme (NFSS) of LaTeX. With this option on, the text font can be set from the including document, which may be TeX or LaTeX. See also -o (no font size).
-f font
Set the default font used for text objects to font. The string font may be one of rm, bf, it, sf, tt, \rmfamily, \bfseries, \itshape, \sffamily, \ttfamily, or one of the 35 standard PostScript font names. The default is \rmfamily.
-i dir
Prepend the string dir to graphics files included in the tikz-picture. For instance, having imported "image.jpg" in xfig, with - i '$HOME/Figures/' the code "\pgfimage[width=..., height=...]{$HOME/Figures/image.jpg}" will be generated.
-O
Do not quote characters special to TeX/LaTeX. Useful to get, e.g., an italic x, not $x$, because it was forgotten to set the text-flag "special-text" in xfig. This option effectively sets the "special-text" flag for all text.
-o
Do not set the font size or baselineskip. Text will be rendered at the size that is in force where the tikz-code is inserted into the document, e.g., " \small\input fig1.tikz". See also -F (no font properties).
-P
Pagemode, generate a stand-alone LaTeX-file as out-file. Run out-file through LaTeX to generate a pdf or eps of the figure. The document produced from out-file will have the paper size equal to the figure's bounding box (but see the -b option to add a margin). The package "geometry.sty" is used in out-file to set the paper size.
-T
Only use TeX fonts, even where PostScript-fonts are specified.
-v
Verbose mode. Write comment lines into the output file, usually naming the type of the object that is drawn.
-W
Do not emit code at the beginning of the file that allows one to set the figure width or height from the including TeX document. Otherwise, e.g., " \newdimen\XFigwidth\XFigwidth=\linewidth" would scale the following figures to the line width.
-w
Remove the suffix from included graphics-files. With this option on, fig2dev generates code that contains, e.g., " \pgfimage{fig1}" instead of " \pgfimage{fig1.pdf}".

TK and PTK OPTIONS (tcl/tk and Perl/tk)

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.
 
-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).
-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.
-w
Wrap the figure with code in order to generate a complete perl file. That is, you can do fig2dev -L ptk -w f.fig f.pl; perl f.pl and a widget pops up that shows the graphics contained in f.pl. Only available for ptk output.
-z papersize
Set the paper size. See the POSTSCRIPT OPTIONS for available paper sizes. This is only used when the -P option (use full page) is used.

TPIC OPTIONS

-f font
Set the default font used for text objects to font. The default is rm. The string font can be one of rm, bf, it, sf, tt, avant, avantcsc, avantd, avantdi, avanti, bookd, bookdi, bookl, booklcsc, bookli, chanc, cour, courb, courbi, couri, helv, helvb, helvbi, helvc, helvcb, helvcbi, helvci, helvcsc, helvi, pal, palb, palbi, palbu, palc, palcsc, pali, palsl, palu, palx, times, timesb, timesbi, timesc, timescsc, timesi, timessl or timesx.

SEE ALSO

xfig(1), pic(1), pic2fig(1), transfig(1)
 
 

BUGS and RESTRICTIONS

Please send bug reports, fixes, new features etc. to:
 
[email protected]
 
Copyright (c) 1991 Micah Beck
 
Parts Copyright (c) 1985-1988 Supoj Sutantavibul
 
Parts Copyright (c) 1989-2015 Brian V. Smith
 
Parts Copyright (c) 2015-2018 by Thomas Loimer
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.
 
 

AUTHORS

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 ([email protected])
 
Modified from f2p (fig to PIC), by the author of Fig
 
Supoj Sutanthavibul ([email protected])
 
University of Texas at Austin.
 
MetaFont driver by
 
Anthony Starks ([email protected])
 
X-splines code by
 
Carole Blanc ([email protected])
 
Christophe Schlick ([email protected])
 
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 ([email protected])
 
The tk driver was written by
 
Mike Markowski ([email protected]) with a little touch-up by Brian Smith
 
The CGM driver (Computer Graphics Metafile) was written by
 
Philippe Bekaert ([email protected])
 
The EMF driver (Enhanced Metafile) was written by
 
Michael Schrick ([email protected])
 
The GBX (Gerber) driver was written by
 
Edward Grace ([email protected]).

Recommended readings

Pages related to fig2dev you should read also: