fig2ps (1) - Linux Manuals
fig2ps: Convert xfig files in ps|pdf, processing
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 !
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
SEE ALSO
xfig(1), fig2dev(1), latex(1), gv(1), gs(1), kpsewhich(1)
The Sourceforge project page at: