diff toolboxes/graph_visualisation/share/man/man1/fdp.1 @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/graph_visualisation/share/man/man1/fdp.1	Tue Feb 10 15:05:51 2015 +0000
@@ -0,0 +1,725 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.br
+sfdp \- filter for drawing large undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l\fIlibfile\fR]
+[\fB\-o\fIoutfile\fR]
+[\fB\-K\fIlayout\fR]
+[\fB\-O\fR]
+[\fB\-P\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l\fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o\fIoutfile\fR]
+[\fB\-K\fIlayout\fR]
+[\fB\-O\fR]
+[\fB\-P\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l\fIlibfile\fR]
+[\fB\-o\fIoutfile\fR]
+[\fB\-K\fIlayout\fR]
+[\fB\-O\fR]
+[\fB\-P\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l\fIlibfile\fR]
+[\fB\-o\fIoutfile\fR]
+[\fB\-K\fIlayout\fR]
+[\fB\-O\fR]
+[\fB\-P\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l\fIlibfile\fR]
+[\fB\-o\fIoutfile\fR]
+[\fB\-K\fIlayout\fR]
+[\fB\-O\fR]
+[\fB\-P\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBsfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l\fIlibfile\fR]
+[\fB\-o\fIoutfile\fR]
+[\fB\-K\fIlayout\fR]
+[\fB\-O\fR]
+[\fB\-P\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs.  It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989).  Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.PP
+.I sfdp
+also draws undirected graphs using the ``spring'' model described
+above, but it uses a multi-scale approach to produce layouts
+of large graphs in a reasonably short time.
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non\(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.P
+Alternative plugins providing support for a given output format
+can be found from the error message resulting from appending a ':' to the format. e.g. \fB-Tpng:\fP
+The first plugin listed is always the default.
+.P
+The \fB\-P\fP switch can be used to produce a graph of all output variants supported by plugins in the local installation of graphviz.
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br 
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list. 
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph.  Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name. 
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBlayout=\fIengine\fR indicates the preferred layout engine ("dot", "neato", fdp" etc) overriding the default from the basename of the command or the -K commandline option.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes.   If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout.  Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode. 
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams.  The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and 
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs.  Ignored by other formats.
+.PP
+\fBsplines\fR. If set to \fItrue\fR, edges are
+drawn as splines.
+If set to \fIpolyline\fR, edges are 
+drawn as polylines.
+If set to \fIortho\fR, edges are 
+drawn as orthogonal polylines.
+In all of these cases, the nodes may not overlap.
+If \fBsplines=\fIfalse\fR or \fBsplines=\fIline\fR, edges are 
+drawn as line segments.
+The default is \fItrue\fR for dot, and \fIfalse\fR for all other layouts.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR.  Requests random initial placement and seeds
+the random number generator.  If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR.  Sets the cutoff for the solver.
+The default is 0.1.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position.  If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg 
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.)  \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+The string '\\G' value will be replaced by the graph name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled.  If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made 
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label. 
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon.  This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation). 
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP                                                            
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\N' and '\\G' are substituted in the same manner as
+for the node label attribute.
+Additionally the substring '\\L' is substituted with the node label string.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL.  Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\N' and '\\G' are substituted in the same manner as
+for the node label attribute.
+Additionally the substring '\\L' is substituted with the node label string.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.  The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substrings '\\N' and '\\G' are substituted in the same manner as
+for the node label attribute.
+Additionally the substring '\\L' is substituted with the node label string.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge.  Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+If the substring '\\G' is found in a label it will be replaced by the graph name.
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL.  The tooltip string defaults to be the
+same as the edge label string. 
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2) 
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL.  If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL.  The tooltip string defaults to be the
+same as the headlabel string. 
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL.  If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL.  The tooltip string defaults to be the
+same as the taillabel string. 
+The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
+for the edge label attribute.
+Additionally the substring '\\L' is substituted with the edge label string.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edge's active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value.  The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+    num = 1
+.fi
+Equivalent to \-n.
+.nf
+    num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-K\fIlayout\fR override the default layout engine implied by the command name.
+.PP
+\fB\-O\fP automatically generate output filenames based on the input filename and the -T format.
+.PP
+\fB\-P\fP generate a graph of the currently available plugins.
+.PP
+\fB\-v\fP (verbose) prints various information useful for debugging.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+        a \-> b \-> c;
+        a \-> {x y};
+        b [shape=box];
+        c [label="hello\\\|nworld",color=blue,fontsize=24,
+             fontname="Palatino\-Italic",fontcolor=red,style=filled];
+        a \-> z [label="hi", weight=100];
+        x \-> z [label="multi\-line\\\|nlabel"];
+        edge [style=dashed,color=red];
+        b \-> x;
+        {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+        a \-\- b \-\- c;
+        a \-\- {x y};
+        x \-\- c [w=10.0];
+        x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges.  All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North,  K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North,  K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot," 
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.