NAME
fig2ps, fig2eps,fig2pdf - Convert xfig files in ps|pdf, processing all
the text marked as special with LaTeX.
SYNOPSIS
fig2ps [-h|--help]
fig2ps [ options ] file1.fig [file2.fig ...]
fig2pdf [ options ] file1.fig [file2.fig ...]
DESCRIPTION
fig2ps converts figures produced by XFig into postscript or PDF,
processing the text with LaTeX. It takes advantage of the pstex and
pstext_t export formats of fig2dev.
fig2ps converts successively all the files given as arguments. It’s
behaviour is governed by quite a few options. In all the options, the =
sign is optional, so that
fig2ps --bbox=dvips file.fig
and
fig2ps --bbox dvips file.fig
are equivalent.
EXAMPLES
To convert file.fig to PS:
fig2ps file.fig
To convert it to PDF:
fig2pdf file.fig
or
fig2ps --pdf file.fig
If the XFig file you want to convert to PDF contains included images,
you might want to try:
fig2pdf --manual-ps2pdf file.fig
OPTIONS
--gv, --nogv
If on, fig2ps runs gv on every file just after they are produced.
On by default if fig2ps thinks it is talking to a terminal (ie not
from a pipe). You might want to switch that off when processing
lots of files.
--xpdf
Views produced files with xpdf rather than gv. Obviously, that
won’t be really useful if you are producing PS files, you’ve been
warned.
--viewer=command
Runs command rather than gv on the produced files.
--keep
Tells fig2ps to keep the temporary directory in which temporary
files are created. Useful for debugging. If this option is on,
fig2ps prints the name of the directory when it has finished its
job, so you know where to look.
--packages=pack1,pack2,...
Sets the package list to be used to pack1,pack2,.... Resets any
package given by the --add command-line option. For more
information about packages, see the section PREAMBLE below.
--add=pack1,pack2,...
Adds pack1,pack2,... to the existing list of packages. See the
section PREAMBLE below. This option is cumulative.
--bbox=dvips|gs|a,b,c,d
Chooses the method to determine the bounding box of the files. See
the section BOUNDING BOX below for more information.
--input=file
Uses file as a template for the LaTeX file. More information about
that can be found in the section PREAMBLE below. This option was
written for a private use, though you can of course profit from it.
However, most of the times, what you really want is --add=file.
file will be looked for using kpsewhich.
--pdf, --nopdf
Whether the final output of fig2ps will be PDF or postscript. This
option is automatically when called as fig2pdf. Note that in any
case, fig2ps has to go through Postscript output to produce a PDF
file.
--eps
Change the output default extension from .ps to .eps. This is on
by default when the program is called as fig2eps. It has no other
effects.
--manual-ps2pdf
When producing PDF files, fig2ps uses epstopdf to perform the
conversion. This may lead to bad quality output with embedded
pictures. The use of this option disables PDF production by
epstopdf and lets ps2pdf produce the final output PDF (but after
tweaking the PS file using epstopdf). In general, this produces
much better results.
--ps2pdf-options
When --manual-ps2pdf does not produce output of decent quality, you
can use this option to manually feed options to ps2pdf. The use of
this option implies --manual-ps2pdf.
--keepps
When producing a PDF file, asks fig2ps to keep the intermediary
Postscript file.
--forcespecial, --noforcespecial
fig2ps only processes with LaTeX text which is marked as special in
the Fig file. When this option is on, all text is treated as if it
was marked with the special flag.
--dvips=string
Passes string as options for dvips.
--fig2dev=string
Passes string as options for fig2dev.
--preamble=string
Adds string in the preamble of the LaTeX file generated, just
before the \begin{document} stanza. Effects are cumulative.
-V, --version
Prints the version of fig2ps and exits.
CONFIGURATION FILES
Many of the command-line options can be set in either the system-wide
(in /etc) or the user configuration file (in the user’s home
directory). Some more details can be configured in the configuration
files. Global configuration is overridden by users’ configuration which
in turn is overridden by the command line options. Here is a list of
the variables you can define:
PACKAGES=pack1,pack2...
Defines the basic list of packages. See the PREAMBLE section.
ADD=pack1,pack2
Has the same effect as the --add command-line option. Does not make
too much sense in the global configuration file, but you might want
to use it in a personal one.
DOC_CLASS=class
Sets the document class used by LaTeX.
DOC_OPTIONS=Ioptions
Sets the options for the document class.
FORCE_SPECIAL=0|1
Sets the default for option --forcespecial.
GV=0|1
Sets the default for option --gv.
GV=file
Has the same effect as the --input command-line option.
PREAMBLE=string
Identical to the --preamble option, with the slight difference that
the in configuration files, it is not cumulative: the last
assignment seen is the only taken into account.
KEEP_PS=0|1
Sets the default for option --keepps.
PREAMBLE
The preamble of the LaTeX file is built as such:
* if a --input file is specified, it will be used directly with a
\input statement. A \documentclass statement will be added if the
input file does not contain any.
* else, a preamble is made based on the values of DOC_CLASS,
DOC_OPTIONS, and PACKAGES (the latter is overridden by the --packages
command-line option). See below for the format of the package
variables.
Then, the packages specified using the ADD variable and the --add
command-line options are added to the preamble, followed by the
geometry package that deals with setting the size of the output
(tweaked for fig2ps’s purposes) and finally the contents of the
PREAMBLE variable and the --preamble command-line options.
The --packages and --add options, and the corresponding variables, take
a comma separated list of packages. Options for the packages can be
specified in two ways:
[option]package
in which you can only specify one option;
option1:option2:...:package
in which you can specify an arbitrary number of options, as long as
you don’t need a comma inside an option. Should the need arise, use
--preamble.
BOUNDING BOX
One of the delicate jobs of fig2ps is to set the bounding box of the
produced file, that is the rectangle that holds the figure. There are
basically three ways for fig2ps to get them:
dvips
In this mode, fig2ps runs dvips with the -E option. It works
reasonably fine most of the time, but it will produce incorrect
results if you have rotated text near the edge of the graph.
gs Asks gs to tell the bounding box of the figure. It used to produce
systematically perfect results, but the quality has degraded
somehow recently. It still works in most of the cases, and that is
why it is the default. It fails on very large pictures.
a,b,c,d
Specify your bounding box by hand.
The benefits of using the last two methods is that fig2ps tells you how
big the picture is (in centimeters).
FILES
/etc/fig2ps/fig2ps.rc, $HOME/.fig2ps.rc
The examples/ directory in the source tarball contains some examples.
Check fig2ps on them to see if it works fine, but keep in mind that
fig2ps will choke on examples/Large-example.fig !
SEE ALSO
xfig(1), fig2dev(1), latex(1), gv(1), gs(1), kpsewhich(1)
The Sourceforge project page at:
http://sourceforce.net/projects/fig2ps
AUTHOR
This script was written by Vincent Fourmond, from an original idea of
Seb Desreux (the first script is for private use, and used the eepic
export of xfig, which is severely limitated), improved by a few
others...
BUG REPORT AND FEATURE REQUESTS
Please use the tracker from the Sourceforge project page:
https://sourceforge.net/tracker/?group_id=125824