packages icon
TransFig is a set of tools for creating TeX documents with graphics
which are portable, in the sense that they can be printed in a wide
variety of environments.

The transfig directory contains the source for the transfig command
which generates a Makefile which translates Fig code to various graphics
description languages using the fig2dev program.  In previous releases,
this command was implemented as a shell script.

The fig2dev directory contains a general program for translating from
Fig code to other graphics desciption languages.  The dev subdirectory
contains a library of output drivers used by fig2dev.

Drivers currently exist for the following graphics langauges:
(E)EPIC macros, LaTeX picture environment, PIC, PiCTeX, PostScript, and TeXtyl.
Fig2dev can be configured with a subset of these drivers

The doc directory contains man pages for fig2dev and for the transfig command.
The subdirectory doc/manual contains a manual for using TransFig to create
documents with portable graphics.  The manual also contains a reference
guide describing Fig code in detail, and a description of TFX, an extension to
Fig code which is supported by the translators in this package.

The file LATEX.AND.XFIG contains a useful tutorial on using xfig with LaTex.
It was written by Eric Masson (McGill University)

TransFig and its companion xfig are available from:
	ftp://www-epb.lbl.gov/xfig
	http://www.xfig.org/xfigdist
	ftp://ftp.x.org/contrib/applications/drawing_tools
	ftp://ftp.cdrom.com/pub/X11/contrib/applications/drawing_tools
	from any CTAN machine e.g. ftp://ftp.tex.ac.uk/pub/archive/graphics.

*************************************************************************
To make TransFig:

1. Edit fig2dev/Imakefile and fig2dev/dev/Imakefile to make any changes
	noted below.  At least make sure that you point XFIGLIBDIR to the
	same directory that xfig uses (usually /usr/local/lib/xfig).  This
	will be used to hold the bitmaps directory for the tk fill patterns.
2. Do a "xmkmf" to create the top level Makefile from the Imakefile
3. Do a "make Makefiles"
4. Do a "make" to make the programs
	**** This MUST be done before "make install" ****
5. Do a "make install" to install them in the system
6. Do a "make install.man" to put the manual pages in the proper directories

o Uncomment the USELATEX2E flag in the transfig/Imakefile file to use the
  \\usepackage{} command for LaTeX2e.
  The default is to use \\documentstyle{} for LaTeX209.

o In fig2dev/Imakefile for the described features:

  o Comment out the DDNFSS = ... line if you don't want NFSS2 font selection
    for LaTeX texts.
  o Comment out the DDLATEX2E_GRAPHICS = ... line if you don't want to use the
    standard graphics package distributed w/ LaTeX2e.
  o UNcomment the DDEPSFIG = ... line if you want to use the deprecated epsfig macros
    distributed w/ LaTeX2e (DDLATEX2E_GRAPHICS must also be defined).

    Hint: Users of LaTeX2e will probably want to include both of these
    options; users of LaTeX 2.09 will probably want to include neither.

o If your system doesn't have strcasecmp() and/or strncasecmp(), uncomment the
  lines in the Imakefile with HAVE_NO_STRCASECMP and HAVE_NO_STRNCASECMP.

o If your system doesn't have strstr(3) uncomment the "#define NOSTRSTR"

o Make sure that you point XFIGLIBDIR to the same directory that xfig uses
  (usually /usr/local/lib/xfig).  This will be used to hold the bitmaps
  directory for the tk fill patterns.

o If you have NOT installed the JPEG library in your system library area,
  comment out the USEINSTALLEDJPEG in fig2dev/Imakefile variable, change the
  JPEGLIBDIR variable to the directory where your JPEG library resides and
  change the JPEGINC to the directory where your JPEG header files (include)
  reside.  You must have version 5b or newer of the JPEG library.

  The JPEG library is available from several places.  The official archive site
  is ftp.uu.net in /graphics/jpeg.
  Another site is ftp.x.org in /contrib/libraries.

o If you don't want to be able to import JPEG images in your Fig files at all
  then comment out the "#define USEJPEG" line in the fig2dev/Imakefile.

o If you want to be able to translate Fig files that have imported XPM files
  (color pixmaps) uncomment the "#define USEXPM" line in fig2dev/Imakefile.
  You need version 3.4c or newer of the XPM package.
  This is available from ftp.x.org in /contrib/libraries.

o If your system has the strerror() function (doesn't have sys_errlist) then
  comment out NEED_STRERROR with an XCOMM comment.

o If your system can open files in text and binary modes and has the setmode()
  function, uncomment HAVE_SETMODE.  This probably only applies to Windows 9x/NT
  systems.

o Look in the Imakefiles to see if any options are relevant to your system.

o If you use epic, eepic or tpic you must have compiled your dvips and xvdi
  with the tpic support (-DTPIC for dvips).

***************
IMPORTANT NOTE:

o As of version 3.2.0 (final), fig2dev has taken over the translating of Fig
  to the bitmap formats (ACAD, GIF, JPEG, XPM, XBM, PCX, TIFF).
  In the past, xfig itself rendered the bitmap formats.  This change was made
  to have a more consistent look and better fonts.  First, the Fig file is
  translated to PostScript, then ghostscript is used to render the image to
  the final format in the case of JPEG, PCX and TIFF, or to PPM (portable
  pixmap) after which the appropriate ppmtoXXX filter is used to get ACAD, GIF,
  XPM and XBM.  If smoothing is done (-S option) when jpeg output is used, the
  "cjpeg" program must be installed from the jpeg package.  This is done
  automatically when you "make" TransFig or fig2dev.

  o You need the netpbm package of March 1994 (or later), which you can find
    at ftp://ftp.x.org/contrib/utilities or
    at ftp://ftp.cdrom.com/pub/X11/contrib/utilities.

  o You will also need ghostscript, which can be found on ftp.cs.wisc.edu in
    /ghost/aladdin, *AND* it must be compiled with the pcx256, jpeg, png256,
    ppmraw and tiff24nc drivers.

*************************************************************************
Please send email about any questions/bug fixes/contributions etc. about
TransFig or xfig to xfig-bugs@epb1.lbl.gov.

Brian V. Smith
Lawrence Berkeley National Laboratory
xfig-bugs@epb1.lbl.gov
*************************************************************************

Note that although I work at Lawrence Berkeley Laboratory (LBL) I don't speak
for LBL nor do I represent LBL with respect to my work on TransFig and xfig,
nor does LBNL make any representations about the suitability of this software
for any purpose.
Here is the legal part:

THE LAWRENCE BERKELEY NATIONAL LABORATORY DISCLAIMS 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.

********************************
PROBLEMS and POSSIBLE SOLUTIONS:
********************************

--------------------------------------------------------------------------------
Pattern shading (e.g. bricks, shingles, etc.) only work for PostScript output.
--------------------------------------------------------------------------------

Solaris 2.x users:

You you must link with -lnsl because gethostname() is used.

The Solaris C compiler version 4.2 has a bug in the optimizer when level -O4 or
-O3 is used.  Either change the Makefile to use -O2 or less, or change your
imake config files to specify -O2 or lower then do "xmkmf" again and "make".

--------------------------------------------------------------------------------
HP systems:

You may need to reduce optimization to +O2 instead of +O3.
The symptom is that not all of the objects in compound objects print.
________________________________________________________________________________
PROBLEM:
	Arc-boxes don't appear correct when viewing exported PostScript with
	ghostview or ghostscript.

POSSIBLE CAUSE AND SOLUTION:
	Ghostscript version 4.01 has a bug with the arcto operators.
	Get version 4.03 or newer.