Section: Conversion from XFig to PS/EPS/PDF (1)Updated: 2009-01-01Local indexUp
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
!
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: