fig2ps, fig2eps,fig2pdf - Convert xfig files in ps|pdf, processing
all the text marked as special with LaTeX.
fig2ps [-h|--help]
fig2ps [ options ] file1.fig [file2.fig
...]
fig2pdf [ options ] file1.fig [file2.fig
...]
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.
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
- --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.
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.
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.
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).
/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...
Please use the tracker from the Sourceforge project page:
https://sourceforge.net/tracker/?group_id=125824