"attribute.Damping" = "On each iteration, a nodes movement is limited to this factor of its potential motion. By being less than 1.0, the system tends to \"cool\", thereby preventing cycling.";
"attribute.URL" = "Hyperlinks incorporated into device-dependent output.";
"attribute.arrowhead" = "Style of arrowhead on the head node of an edge.";
"attribute.arrowsize" = "Multiplicative scale factor for arrowheads.";
"attribute.arrowtail" = "Style of arrowhead on the tail node of an edge.";
"attribute.bb" = "Bounding box of drawing in integer points.";
"attribute.bgcolor" = "When attached to the root graph, this color is used as the background for entire canvas. When a cluster attribute, it is used as the initial background for the cluster.";
"attribute.bottomlabel" = "Additional label near bottom of nodes of shape M*.";
"attribute.center" = "If true, the drawing is centered in the output canvas.";
"attribute.clusterrank" = "Mode used for handling clusters.";
"attribute.color" = "Basic drawing color for graphics.";
"attribute.comment" = "Comments are inserted into output.";
"attribute.compound" = "If true, allow edges between clusters.";
"attribute.concentrate" = "If true, use edge concentrators.";
"attribute.constraint" = "If false, the edge is not used in ranking the nodes.";
"attribute.decorate" = "If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.";
"attribute.defaultdist" = "This specifies the distance between nodes in separate connected components.";
"attribute.dim" = "Set the number of dimensions used for the layout.";
"attribute.dir" = "This indicates which ends of the edge should be decorated with an arrowhead.";
"attribute.distortion" = "Positive values cause top part of polygon to be larger than bottom; negative values do the opposite.";
"attribute.epsilon" = "If the length squared of all energy gradients are less than this value, the algorithm stops.";
"attribute.fillcolor" = "Color used to fill the background of a node or cluster.";
"attribute.fixedsize" = "If true, the node size is specified by the values of the width and height attributes only and is not expanded to contain the text label.";
"attribute.fontcolor" = "Color used for text.";
"attribute.fontname" = "Font used for text.";
"attribute.fontpath" = "Directory list used by libgd to search for bitmap fonts.";
"attribute.fontsize" = "Font size, in points, used for text.";
"attribute.group" = "If the end points of an edge belong to the same group, parameters are set to avoid crossings and keep the edges straight.";
"attribute.headURL" = "For the output format imap or cmap, it is output as part of the head label of the edge.";
"attribute.headclip" = "If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.";
"attribute.headhref" = "For the output format imap or cmap, it is output as part of the head label of the edge.";
"attribute.headlabel" = "Text label to be placed near head of edge.";
"attribute.headport" = "Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary.";
"attribute.headtarget" = "Determines which window of the browser is used for the Head URL.";
"attribute.headtooltip" = "Tooltip annotation attached to the head of an edge.";
"attribute.height" = "Initial, minimum height of the node, in inches. If Fixed Size is true, this will be the final height of the node. Otherwise, if the node label requires more height to fit, the node's height will be increased to contain the label.";
"attribute.href" = "Hyperlinks incorporated into device-dependent output.";
"attribute.label" = "Text label attached to objects.";
"attribute.labelangle" = "Angle, in degrees, that the head label (tail label) is rotated from the angle the edge makes incident with the head (tail) node, respectively.";
"attribute.labeldistance" = "Multiplicative scaling factor adjusting the distance that the head label (tail label) is the from head (tail) node.";
"attribute.labelfloat" = "If true, allows edge labels to be less constrained in position.";
"attribute.labelfontcolor" = "Color used for head label and tail label.";
"attribute.labelfontname" = "Font used for head label and tail label.";
"attribute.labelfontsize" = "Font size, in points, used for head label and tail label.";
"attribute.labeljust" = "Justification for cluster labels.";
"attribute.labelloc" = "Top/bottom placement of graph and cluster labels.";
"attribute.layer" = "Specifies layers in which the node or edge is present.";
"attribute.layers" = "Specifies a linearly ordered list of layer names attached to the graph; the graph is then output in separate layers. Only those components belonging to the current output layer appear.";
"attribute.layersep" = "Specifies the separator characters used to split the Layers attribute into a list of layer names.";
"attribute.len" = "Preferred edge length, in inches.";
"attribute.lhead" = "When Compound is true, if this cluster contains the real head, the edge is clipped to the boundary of the cluster.";
"attribute.lp" = "Label position, in points.";
"attribute.ltail" = "When Compound is true, if this cluster contains the real tail, the edge is clipped to the boundary of the cluster.";
"attribute.margin" = "Set x and y margins of canvas, in inches.";
"attribute.maxiter" = "Sets the number of iterations used.";
"attribute.mclimit" = "Multiplicative scale factor used to alter crossing minimization. It changes the number of tries without improvement before quitting and the maximum number of iterations in each pass.";
"attribute.mindist" = "Minimum separation between all nodes.";
"attribute.minlen" = "Minimum edge length (rank difference between head and tail).";
"attribute.model" = "If \"circuit\", use circuit resistance model to compute dissimilarity values; otherwise, use shortest path model.";
"attribute.nodesep" = "Minimum space between two adjacent nodes in the same rank, in inches.";
"attribute.normalize" = "If set, normalize coordinates of final layout so that the first point is at the origin, and then rotate the layout so that the first edge is horizontal.";
"attribute.nslimit" = "Used to set number of iterations in computing x coordinates for network simplex applications.";
"attribute.nslimit1" = "Used to set number of iterations in ranking nodes for network simplex applications.";
"attribute.ordering" = "Edge ordering.";
"attribute.orientation" = "Angle, in degrees, used to rotate node shapes.";
"attribute.orientation" = "If \"[lL]*\", set graph orientation to landscape. Used only if Rotate is not defined.";
"attribute.outputorder" = "Specify order in which nodes and edges are drawn.";
"attribute.overlap" = "Remove node overlaps.";
"attribute.pack" = "If true, each connected component of the graph is laid out separately, and then the graphs are packed tightly. If an integer, this is used as the size (in points) of a margin around each part; otherwise, a default margin of 8 is used. If \"false\", the entire graph is laid out together.";
"attribute.packmode" = "This indicates the granularity and method used for packing.";
"attribute.page" = "Width and height of output pages, in inches.";
"attribute.pagedir" = "Specifies the order in which the pages are emitted.";
"attribute.pencolor" = "Color used to draw the bounding box around a cluster.";
"attribute.peripheries" = "Set number of peripheries used in polygonal shapes and cluster boundaries.";
"attribute.pin" = "If true and the node has a Position attribute, this prevents the node from moving from the input position.";
"attribute.pos" = "Position of node, or spline control points, in points. For Undirected Layout, this can be used to set initial position.";
"attribute.quantum" = "Node label dimensions will be rounded to integral multiples of the quantum.";
"attribute.rank" = "Rank constraints on the nodes in a subgraph.";
"attribute.rankdir" = "Sets direction of graph layout.";
"attribute.ranksep" = "For Directed Layout, this is the minimum vertical distance between the bottom of the nodes in one rank and the tops of nodes in the next. If \"equally\", the centers of all ranks are spaced equally apart. For Circular Layout, specifies radial separation of concentric circles.";
"attribute.ratio" = "Sets the aspect ratio (drawing height/drawing width) for the drawing.";
"attribute.rects" = "Rectangles for fields of records, in points.";
"attribute.regular" = "If true, force polygon to be regular.";
"attribute.remincross" = "If true and there are multiple clusters, run cross minimization a second time.";
"attribute.resolution" = "This specifies the expected number of pixels per inch on a display. It is used to guarantee that dimensions in the output correspond to the correct number of points or inches.";
"attribute.root" = "This specifies the name of a node to use as the center of the layout and the root of the generated spanning tree.";
"attribute.rotate" = "If \"90\", set drawing orientation to landscape.";
"attribute.samehead" = "Edges with the same head and the same Same Head value are aimed at the same point on the head.";
"attribute.sametail" = "dges with the same tail and the same Same Tail value are aimed at the same point on the tail.";
"attribute.samplepoints" = "If the input graph defines the Vertices attribute, this give the number of points used to represent circles and ellipses.";
"attribute.searchsize" = "During network simplex, maximum number of edges with negative cut values to search when looking for one with minimum cut value.";
"attribute.sep" = "Fraction to increase polygons for purposes of determining overlap. Guarantees a minimal non-zero distance between nodes.";
"attribute.shape" = "Set the shape of a node.";
"attribute.shapefile" = "";
"attribute.showboxes" = "Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2.";
"attribute.sides" = "Number of sides if polygon.";
"attribute.size" = "Maximum width and height of drawing, in inches.";
"attribute.skew" = "Positive values skew top of polygon to right; negative to left.";
"attribute.splines" = "If true, draw edges as splines.";
"attribute.start" = "Parameter used to determine the initial layout of nodes.";
"attribute.style" = "Set style for node or edge.";
"attribute.stylesheet" = "A URL or pathname specifying an XML style sheet, used in SVG output.";
"attribute.tailURL" = "When the output format is imap or cmap, it is output as part of the tail label of the edge.";
"attribute.tailclip" = "If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.";
"attribute.tailhref" = "When the output format is imap or cmap, it is output as part of the tail label of the edge.";
"attribute.taillabel" = "Text label to be placed near tail of edge.";
"attribute.tailport" = "Indicates where on the tail node to attach the tail of the edge.";
"attribute.tailtarget" = "Determines which window of the browser is used for the Tail URL.";
"attribute.tailtooltip" = "Tooltip annotation attached to the tail of an edge.";
"attribute.target" = "Determines which window of the browser is used for the URL.";
"attribute.tooltip" = "Tooltip annotation attached to the node or edge.";
"attribute.toplabel" = "Additional label near top of nodes of shape M*.";
"attribute.truecolor" = "If true, the bitmap output relies on a truecolor color model.";
"attribute.vertices" = "This attribute provides the coordinates of the vertices of the node's polynomial, in inches.";
"attribute.voro_margin" = "Factor to scale up drawing to allow margin for expansion in Voronoi technique.";
"attribute.weight" = "For Directed Layout, the heavier the weight, the shorter, straighter and more vertical the edge is. For Undirected Layout, the heavier the weight, the closer the actual edge length will be to the Length attribute.";
"attribute.width" = "Taken as the initial, minimum width of the node. If Fixed Size is true, this will be the final width of the node. Otherwise, if the node label requires more width to fit, the node's width will be increased to contain the label.";
"attribute.z" = "Provides z coordinate for the node when output format is VRML.";
"clusterMode.local" = "A subgraph whose name begins with \"cluster\" is given special treatment. The subgraph is laid out separately, and then integrated as a unit into its parent graph, with a bounding rectangle drawn about it. If the cluster has a label parameter, this label is displayed within the rectangle.";
"clusterMode.global" = "Turn off special cluster processing.";
"clusterMode.none" = "Turn off special cluster processing.";
"just.l" = "Left justification.";
"just.c" = "Center justification.";
"just.r" = "Right justification.";
"layout.dot" = "\"dot\" first breaks any cycles in the component. Next it assigns nodes to discrete Y-coordinate ranks, then orders nodes with ranks to avoid crossings. The X-coordinates are set to keep edges short, then edges are routed with splines.";
"layout.neato" = "\"neato\" places an ideal spring between every pair of nodes such that its length is set to the shortest path distance between the endpoints. The springs push the nodes so their geometric distance in the layout approximates their path distance in the graph.";
"layout.twopi" = "\"twopi\" chooses one node as 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.";
"layout.circo" = "\"circo\" identifies biconnected components and draws the nodes of the component on a circle. The block-cutpoint tree is then laid out using a recursive radial algorithm.";
"loc.t" = "Top placement.";
"loc.b" = "Bottom placement.";
"ordering.out" = "Edges from each node appear left-to-right in the same order in which they are defined.";
"ordering.in" = "Edges to each node appear left-to-right in the same order in which they are defined.";
"outputMode.breadthfirst" = "The simplest order, but when the graph layout does not avoid edge-node overlap, this mode will sometimes have edges drawn over nodes and sometimes on top of nodes.";
"outputMode.nodesfirst" = "All nodes are drawn first, followed by the edges. This guarantees an edge-node overlap will not be mistaken for an edge ending at a node.";
"outputMode.edgesfirst" = "All edges appear beneath nodes, even  if the resulting drawing is ambiguous.";
"overlap.scale" = "Remove by scaling.";
"overlap.false" = "Remove by Voronoi technique.";
"packMode.node" = "Packing at the node and edge label, with no overlapping of these objects. This produces a layout with the least area, but it also allows interleaving, where a node of one component may lie between two nodes in another component.";
"packMode.graph" = "Packing using the bounding box of the component. Thus, there will be a rectangular region around a component free of elements of any other component.";
"packMode.clust" = "Guarantees that top-level clusters are kept intact.";
"pagedir.BL" = "Bottom to top, left to right.";
"pagedir.BR" = "Bottom to top, right to left.";
"pagedir.TL" = "Top to bottom, left to right.";
"pagedir.TR" = "Top to bottom, right to left.";
"pagedir.RB" = "Right to left, bottom to top.";
"pagedir.RT" = "Right to left, top to bottom.";
"pagedir.LB" = "Left to right, bottom to top.";
"pagedir.LT" = "Left to right, top to bottom.";
"rankdir.LR" = "Directed edges tend to go from left to right.";
"rankdir.TB" = "Directed edges tend to go from top to bottom.";
"rankType.same" = "All nodes are placed on the same rank.";
"rankType.min" = "All nodes are placed on the minimum rank.";
"rankType.source" = "All nodes are placed on the minimum rank, and the only nodes on the minimum rank belong to some subgraph whose Rank attribute is \"source\" or \"min\".";
"rankType.max" = "All nodes are placed on the maximum rank.";
"rankType.sink" = "All nodes are placed on the maximum rank, and the only nodes on the maximum rank belong to some subgraph whose Rank attribute is \"sink\" or \"max\".";
