This is Info file README.text, produced by Makeinfo-1.63 from the input
file README.texi.tmp.19261.


      ____                          _       _____       _
      / ___|  _ __    __ _   _ __   | |__   | ____|   __| |
     | |  _  | '__|  / _` | | '_ \  | '_ \  |  _|    / _` |
     | |_| | | |    | (_| | | |_) | | | | | | |___  | (_| |
      \____| |_|     \__,_| | .__/  |_| |_| |_____|  \__,_|
                            |_|
     
     ======================================================

Introduction
************

   GraphEd is a graph editor with support for graph grammars, graph
layout algorithms and an interface for application modules. GraphEd is
available for non-commercial use via anonymous ftp from

     `ftp.uni-passau.de' (132.231.1.10) : `/pub/local/graphed'

   GraphEd runs on SUN workstations under X11/XView or OpenWindows.  The
lastet release is 4.0.16 alpha.

Operating Systems
*****************

   GraphEd now runs with the following  operating systems:

`Sun-OS 4.1.3'
        *     compiler: gcc -ansi (gcc Version 2.6.2)

        *     lex, yacc and make used from SunOS

        *     flex and bison (instead of lex and yacc,     GNU make
          supported

`Solaris 2.4'
        *     SUN cc (Solaris CC Version 3.0) or gcc (Version 2.6.3)

        *     Solaris lex, yacc and make (/usr/ccs/bin)

        *     flex and bison, GNU make supported

`Linux'
        *     gcc 2.5.8, libc 4.5.8, Kernel 1.1.93

   Any configuration not listed above will probably still work.

The Directories on the ftp server
*********************************

`binaries'
     GraphEd binaries for SUN4 (SunOs 4.1.3, should also run on Solaris
     2.3)

`contrib'
     Contains additional packages. Currently, a this directory holds a
     standalone version of the converter package and a package for
     drawing flowcharts by graph grammars.

`doc'
     This directory contains the GrapHEd and Sgraph manuals, in
     Postscript format. Sgraph is the programmer interface to GraphEd.
     Some items are also available in Macintosh/MS Word or TeX format.

`GraphEd-SV'
     This directory contains the statistics visualization package,
     which is used to evaluate layout algorithms.

`papers'
     Papers on GraphEd and related topics.

`sgraph-standalone'
     Standalone algorithms, mainly for use as submodules in other
     programs.  *Note:* the version of Sgraph which is distributed with
     GraphEd can run standalone. Look at the file `makefile.standalone'
     in the `sgraph' subdirectory.

     The standalone algorithms need the standalone Sgraph library. All
     programs read a Graph in GraphEd format from stdin and write to
     stdout.

`old'
     Old code, inclusive a Sunview version, binaries included. Will
     disappear sometime.

Recent updates
**************

version 4.1.6
=============

   This version has been ported to Solaris 2.4 and Linux by A.\
Stuebinger and F.\ Heyder. This version is still in a testing phase and
probably less stable than GraphEd 4.0.21.

New in Version 4.0.15
=====================

   * New module: visibility drawings (by Peter Engel).

   * Minor changes in the file format.

   * Several bug fixes.

   * The binary runs (again) under Solaris 2.*. Some of the neccessary
     patches for Solaris 2.* have been applied, but compiling is still
     not supported.

New in Version 4.0.12
=====================

   * New module: Planar ST upward drawings (Roland Stuempfl)

   * Several bug fixes.

New in Version 4
================

   From version 4 on, GraphEd is completely based on X11. All
references to PixRect have been eliminated.

New in version 3.5.10
=====================

   * A new implementation of Tamassia's bends minimization algorithm is
     included ("planar / bends minization 2", Bettina Rimmel, Max
     Eidenschink).

     This one is for undirected graphs only, but it uses the HT
     planarity test and therefore it does not need a planar drawing to
     start with. It is also much faster than the previous
     implementation.  The assignment of coordinates is not as nice as
     before, but that can be solved by running both versions in
     sequence.

   * Sgraph bug fixed, destructor functions are now handled correctly

   * Another bug in the PostScript driver fixed

   * We do not raise the "Ed" in GraphEd anymore, since several people
     have problems with that, especially those who use TeX.

   * Several new documents have been put to the "paper" subdirectory.

New in version 3.5.5
====================

   * DAG Layout now top->bottom and left->right

   * Convex Layout is no longer a fixed circle with radius 400,
     shortest edge is now as long as in settings.

   * Message subwindows now automatically resets before capacity is
     full.  No more annoying XView warnings if capacity is full.

New in version 3.5.3
====================

   * PostScript driver now knows about font sizes

   * Bug fixes in the graph grammar interface

   * New module: visibility drawings (by Helmut Gruber)

   * New module: triangulations (by Christian Ramsauer)

New in version 3.5
==================

   * Graph grammars

        * Menu for productions

        * Indices (labels a/b, where b is is transparent to the
          derivation)

        * Derivation trees

        * GGDL (Graph Grammar Derivation Language) support

   * Load several graphs at startup

   * Hierarchical graph layout (experimental) All questions should go
     to Timo Hickl, `hickl@fmi.uni-passau.de'.

   * Minor changes, several bug fixes

New in version 3.3
==================

   * Graph grammar "Apply Random"

   * Slightly new menu layout

   * New menu "Goodies / Transformations" with geometric transformers

   * Bug fixes

New in version 3.2
==================

   * New PostScript driver (Marc Felsberg)

   * New fig exporter (Lars Raeder)

   * Graph Grammar Parser (Thomas Lamshoeft)

   * Algorithms to determine a maximum planar subgraph and the
     thickness of a graph (Andreas Winter)

   * Algorithms for treewidth (Nikolaus Motte)

   * Algorithms for searching on graphs, with animation (Andreas
     Schweickart)

   * Algorithms for separators (Harald Lauer)

   * Tree Layout top-down *or* left-right

   * Layout Suite and Layout Info modules to test various layouts
     quickly (Gabriele Nemeth)

   * Manuals are now available in PostScript form.

Converters
**********

   *NOTE: Use of the converters is no longer encouraged.*

*Simple* File Format
====================

   We define a *simple* file format as follows.

     <graph>       ::= <node> <coordinates> <adjacencies> end-of-line
     <node>        ::= integer
     <coordinates> ::= empty | <coord> <coord> | <coord> <coord> <coord>
     <adjacencies> ::= <edge>*
     <edge>        ::= integer
     <coord>       ::= integer | floating-point

   Each line consists of a node number, coordinates (optional: 0, 2 or
3) and a list of edges. That is, the line

     1 42.0 42.0 2 3

   describes node `1', which has coordinates `42.0' and `42.0' and has
edges to nodes 2 and 3.

   *Note:* Coordinates do not need to be in flowing point format. The
converter will change them into integer (pixel) coordinates.

   *Note:* Multiple edges and self loops are allowed. The file format
contains no explicit distinction between undirected and directed
graphs. In undirected graphs, edges are contained in the adjacency list
of both endnodes.

`graphed2simple': Convert from GraphEd format
---------------------------------------------

   `graphed2simple' reads a graph in GraphEd format from standard input
and outputs a graph in *simple* format.

   Usage:

     cat graph.g | graphed2simple > graph.simple

   Options are

`-0'
     No coordinates.

`-2'
     2-dimensional coordinates.

`-3'
     3-dimensional coordinates.

`-zerox'
`-zeroy'
`-zeroz'
     Adjust the coordinate system: set the origins of the x,y and z
     axis.

`-unitx'
`-unity'
`-unitz'
     Adjust the coordinate system: set the unit for the x,y and z axis.

`-maxx'
`-maxy'
`-maxz'
     Set the maximum range for x,y and z coordinates. If any of these
     is set, the corresponding unit setting will be ignored.

   Here is an example how to create a graph in VEGA format:

     cat graph.g | graphed2simple -2 -maxx 1.0 -maxy 1.0 > graph.vega

`simple2graphed': Convert to GraphEd format
-------------------------------------------

   `graphed2simple' reads a graph from standard input in *simple*
format and outputs a graph in GraphEd format.

   Usage:

     cat graph.simple | simple2graphed > graph.g

   Options are

`-0'
     No coordinates.

`-2'
     2-dimensional coordinates.

`-3'
     3-dimensional coordinates.

`-u, -undirected'
     Assume the graph is undirected. It is neccessary to tell
     `simple2graphed' that the graph is directed, since the simple file
     format does not store this information, but GraphEd's format does.

`-d, -directed'
     Assume the graph is directed. This is the default.

`-zerox x'
`-zeroy y'
`-zeroz z'
     Adjust the coordinate system: set the origins of the x,y and z
     axis.

`-unitx x'
`-unity y'
`-unitz z'
     Adjust the coordinate system: set the unit for the x,y and z axis.

`-start nr'
     Start node numbering at `nr'. Default is 1.

   Here is an example how to convert a graph in (2-dimensional) VEGA
format to GraphEd format:

     cat graph.vega | simple2graphed -u -2 -maxx 1.0 -maxy 1.0 > graph.g

GraphEd - VEGA converters
=========================

   The distribution includes two converters `graphed2vega' and
`vega2graphed' from and to VEGA format. To convert a graph from VEGA
format to GraphEd format, use

     cat file.vega | vega2graphed > file.g

   or

     vega2graphed file.vega

   The second form creates a file named `file.g'. To convert a graph
from GraphEd format to VEGA format, use

     cat file.g | graphed2vega > file.vega

Mailing List
************

   We have established two mailing lists for GraphEd:

     `graphed-discuss'
     `graphed-announce'

   graphed-announce is a subset of graphed-discuss. To subscribe to one
of the lists, send mail to with subject `subscribe `my_address''

     `graphed-discuss-request@fmi.uni-passau.de'
     `graphed-announce-request@fmi.uni-passau.de'

   Use the subject `help' for more information.

   The latest announcement (actually the latest README file) can be
obtained by sending a mail with subject "announcement" to

     `graphed-announce@fmi.uni-passau.de'

Installation Guide
******************

   For a quick installation (if your OS is Solaris 2.*), proceed as
follows:

   * Set `INSTALLBASE' to the base of the directory hierarchy where
     GraphEd shall be installed.

   * `make all'

   * `make install'

Requirements
============

   * GraphEd needs at least OpenWindows 3.0 or XView 3.0. GraphEd does
     not compile with OpenWin 2.0. The binaries might work.

   * The PostScript drivers seem to need X11R6.

   * GraphEd seems not to work on some X Terminals.

Files to edit
=============

`makefile.template'
     Set `INSTALLBASE' to the base of the directory hierarchy where
     GraphEd shall be installed. Default is
     `/public/graphed/graphed-$(VERSION)', according to our local
     software installation schema.

`config.h'
     Set `SUNOS41' or `SUNOS403' according to your SUN OS version This
     feature is currently unused, but might come up again one day.

Compiling
=========

  1. Use

          make all

     to compile GraphEd. The compilation may need up to 25 Mb temporary
     space, and might take more than an hour if you do not habe a sparc
     10 available.

  2. To install, do

          make install

     *IMPORTANT:* `make install' is neccessary to install the startup
     file `.graphed'.


   It is not neccessary to keep the sources after the installation.

Command Line Switches
*********************

`file'
`-f file'
`-file file'
     Loads file `file' at startup. `-f' or `-file' may be omitted if
     the `file' does not start with a dash.

     GraphEd may load several files at startup; each is placed in a
     separate window.

`-wa `x' `y''
`-working_area `x' `y''
     Set the default size of the working areas `x'x`y' pixels.

`-'
`-stdin'
     Load a graph from standard input. This feature may disappear in
     future versions.

`-h'
`-graphed_help'
     Print a summary of the command line options.

`-s `file''
`-snoop `file''
     Load `file' in snoop mode. Snoop mode provides a way to display a
     graph which is actually managed by another program.  That is, you
     have some external program that creates graph, and GraphEd can be
     used to display and edit this graph.

     Snoop mode uses 3 files:

        * The graph file (say, `x.g')

        * A file `x.g.in'. If the modification date of `x.g'.in
          changes. `x.g' is reloaded.

        * A file `x.g.out'. If the graph is saved, `x.g.out' is touched
          to indicate that the graph has changed.

     Starting GraphEd as

           graphed -snoop `file.g'

     snoops on `file.g'.

     You may try it out the following way:

          `create file.g'
          touch file.g.in
          graphed -snoop file.g &
          `modify file.g'
          touch file.g.in

`-vo'
`-view_only'
     `-view_only' prevents the user from doing changes (not fully
     implemented).

`-hide_base_frame'
     Do not show the base frame window at startup (not implemented yet).

Frequently asked questions / problems
*************************************

Operating system
================

   * SunOS 4.1.3 maybe lower ones (not tested)

   * X11 with XView 3.0 or OpenWindows 3.0. GraphEd should run on newer
     versions, but we could not test that.

   * The PixRect library. PixRect is a SUN specific library which is
     usually installed on SUN Workstations.

     *Note:* Beginning with release 4.*, the PixRect library is no
     longer needed.

   GraphEd can run on plain X11, Display PostScript is *not* needed.
The olwm window manager is not needed to run GraphEd, but it fits nicer.

Porting
=======

   * Solaris 2.*

     We do not have Solaris 2.* here in Passau, so I cannot say anything
     about porting.

Legal issues
============

   This version may not be used in commercial projects, or sold.  For
information on a commercial licence, send e-mail to

         `brandenb@fmi.uni-passau.de'

or send snail mail to

     Prof. Dr. F.J. Brandenburg
     Lehrstuhl fuer Theoretische Informatik
     Universitaet Passau
     94032 Passau
     Germany

Plans
=====

Current Plans
-------------

   * more algorithms

   * more algorithms ...

   * much more algorithms ...

   * updated manuals (printed and on-line ones)

   * more Sgraph features (esp. ability to work with more than one
     graph)

   * dynamic libraries

   * Data structures for hierarchical graphs

   * Support for VEGA

Future Plans (speculative)
--------------------------

   * Porting to Motif or Tk

   * Porting to Linux

   * Support for TCL scripts

   * Support for LEDA

   If anyone is doing extensions, plese let us know.

Known bugs and problems
=======================

   * Sometimes, the user interface hangs.

   * The GraphEd manual is out of date.

   * The planarity test(s) have a bug.

   * Some layout algorithms reqire a planar drawing to start.

   * If GraphEd cannot find the file `.graphed', you probably forgot to
     do a `make install'. This will install `.graphed' in the
     appropriate place.

