~ubuntu-branches/ubuntu/maverick/yapgvb/maverick

« back to all changes in this revision

Viewing changes to attrs.html

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-07-13 17:22:10 UTC
  • Revision ID: james.westby@ubuntu.com-20060713172210-7u48pea2jrxktglo
Tags: upstream-1.1.1
ImportĀ upstreamĀ versionĀ 1.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
 
2
<!--
 
3
    This is a generated document.  Do not edit.
 
4
-->
 
5
 
 
6
 
 
7
<!-- This copied from the graphviz website, http://www.graphviz.org/doc/info/attrs.html -->
 
8
<!-- Used for automatic document generation for yapgvb -->
 
9
 
 
10
<HTML VERSION="2.0">
 
11
<HEAD>
 
12
<TITLE>Graph Attributes</TITLE>
 
13
</HEAD>
 
14
<BODY BGCOLOR=white>
 
15
<A NAME="top"></A>
 
16
<H1 align=CENTER>Graph Attributes</H1>
 
17
<HR>
 
18
The table below describes the attributes used by various Graphviz tools.
 
19
The table gives the name of the attribute, the graph components (node,
 
20
edge, etc.) which use the attribute and the type of the attribute
 
21
(strings representing legal values of that type). Where applicable, the table
 
22
also gives a default value for the attribute, a minimum allowed setting
 
23
for numeric attributes, and certain restrictions on the use of the attribute.
 
24
<P>
 
25
All Graphviz attributes are specified by name-value pairs. Thus, to
 
26
set the fillcolor of a node <TT>abc</TT>, one would use
 
27
<TABLE> 
 
28
<TR><TD><TT>abc [fillcolor = red]</TT></TR>
 
29
</TABLE> 
 
30
Similarly, to set the arrowhead style of an edge <TT>abc -> def</TT>, 
 
31
one would use
 
32
<TABLE> 
 
33
<TR><TD><TT>abc -> def [arrowhead = diamond]</TT></TR>
 
34
</TABLE> 
 
35
Further details concerning the setting of attributes can be found
 
36
in the description of the 
 
37
<A HREF="http://www.graphviz.org/cvs/doc/info/lang.html">DOT language.</A>
 
38
<P>
 
39
<A NAME=h:undir_note><STRONG>Note:</STRONG></A> Some attributes, such as
 
40
<A HREF=#d:dir>dir</A> or <A HREF=#d:arrowtail>arrowtail</A>, are 
 
41
ambiguous when used in 
 
42
<A HREF="http://www.graphviz.org/cvs/doc/info/lang.html">DOT</A>
 
43
with an undirected graph since the head and tail of an edge are meaningless. 
 
44
As a convention, the first time an undirected edge appears, the
 
45
<A HREF="http://www.graphviz.org/cvs/doc/info/lang.html">DOT</A>
 
46
parser will assign the left node as the tail node and the right node as
 
47
the head. For example, the edge <TT>A -- B</TT> will have tail <TT>A</TT>
 
48
and head <TT>B</TT>. It is the user's responsibility to handle such
 
49
edges consistently. If the edge appears later, in the format
 
50
<TABLE> 
 
51
<TR><TD><TT>B -- A [taillabel = "tail"]</TT></TR>
 
52
</TABLE> 
 
53
the drawing will attach the tail label to node <TT>A</TT>.
 
54
To avoid possible confusion when such attributes are required, the user
 
55
is encouraged to use a directed graph.
 
56
If it is important to make the graph appear undirected, this can be
 
57
done using the <A HREF=#d:dir>dir</A>, <A HREF=#d:arrowtail>arrowtail</A>
 
58
or <A HREF=#d:arrowhead>arrowhead</A> attributes.
 
59
<P>
 
60
The tools accept standard C representations for <EM>int</EM> and
 
61
<EM>double</EM> types.
 
62
For the <A NAME=k:bool><EM>bool</EM></A> type, TRUE values are 
 
63
represented by "true" (case-insensitive)
 
64
and any non-zero integer, and FALSE values by "false" (case-insensitive)
 
65
and zero.
 
66
In addition, there are a variety of specialized types such as 
 
67
<EM>arrowType</EM>, <EM>color</EM>,
 
68
<EM>pointf</EM> and <EM>rankdir</EM>. Legal values for these types are given
 
69
at the end.
 
70
<P>
 
71
In the <A NAME=h:uses><STRONG>Used By</STRONG></A> field, the 
 
72
characters E, N, G, S and C
 
73
represent edges, nodes, the root graph, subgraphs
 
74
and cluster subgraphs, respectively.
 
75
This field indicates which graph component uses the attribute.
 
76
<HR ALIGN=CENTER WIDTH="70%" SIZE=3>
 
77
<TABLE ALIGN=CENTER>
 
78
<TR><TH>Name</TH><TH><A HREF=#h:uses>Used By</A></TH><TH>Type</TH><TH>Default</TH><TH>Minimum</TH><TH>Notes</TH></TR>
 
79
 <TR><TD><A NAME=a:Damping HREF=#d:Damping>Damping</A>
 
80
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.99</TD><TD>0.0</TD><TD>neato only</TD> </TR>
 
81
 <TR><TD><A NAME=a:K HREF=#d:K>K</A>
 
82
</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER">0.3</TD><TD>0</TD><TD>fdp only</TD> </TR>
 
83
 <TR><TD><A NAME=a:URL HREF=#d:URL>URL</A>
 
84
</TD><TD>ENGC</TD><TD><A HREF=#k:escString>escString</A>
 
85
<BR>string</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
 
86
 <TR><TD><A NAME=a:arrowhead HREF=#d:arrowhead>arrowhead</A>
 
87
</TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
 
88
</TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
 
89
 <TR><TD><A NAME=a:arrowsize HREF=#d:arrowsize>arrowsize</A>
 
90
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
 
91
 <TR><TD><A NAME=a:arrowtail HREF=#d:arrowtail>arrowtail</A>
 
92
</TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
 
93
</TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
 
94
 <TR><TD><A NAME=a:bb HREF=#d:bb>bb</A>
 
95
</TD><TD>G</TD><TD><A HREF=#k:rect>rect</A>
 
96
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
 
97
 <TR><TD><A NAME=a:bgcolor HREF=#d:bgcolor>bgcolor</A>
 
98
</TD><TD>GC</TD><TD><A HREF=#k:color>color</A>
 
99
</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD></TD> </TR>
 
100
 <TR><TD><A NAME=a:center HREF=#d:center>center</A>
 
101
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
102
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
103
 <TR><TD><A NAME=a:charset HREF=#d:charset>charset</A>
 
104
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"UTF-8"</TD><TD></TD><TD></TD> </TR>
 
105
 <TR><TD><A NAME=a:clusterrank HREF=#d:clusterrank>clusterrank</A>
 
106
</TD><TD>G</TD><TD><A HREF=#k:clusterMode>clusterMode</A>
 
107
</TD><TD ALIGN="CENTER">local</TD><TD></TD><TD>dot only</TD> </TR>
 
108
 <TR><TD><A NAME=a:color HREF=#d:color>color</A>
 
109
</TD><TD>ENC</TD><TD><A HREF=#k:color>color</A>
 
110
<BR><A HREF=#k:colorList>colorList</A>
 
111
</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
 
112
 <TR><TD><A NAME=a:colorscheme HREF=#d:colorscheme>colorscheme</A>
 
113
</TD><TD>ENCG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
114
 <TR><TD><A NAME=a:comment HREF=#d:comment>comment</A>
 
115
</TD><TD>ENG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
116
 <TR><TD><A NAME=a:compound HREF=#d:compound>compound</A>
 
117
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
118
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
 
119
 <TR><TD><A NAME=a:concentrate HREF=#d:concentrate>concentrate</A>
 
120
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
121
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
 
122
 <TR><TD><A NAME=a:constraint HREF=#d:constraint>constraint</A>
 
123
</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
 
124
</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>dot only</TD> </TR>
 
125
 <TR><TD><A NAME=a:decorate HREF=#d:decorate>decorate</A>
 
126
</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
 
127
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
128
 <TR><TD><A NAME=a:defaultdist HREF=#d:defaultdist>defaultdist</A>
 
129
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1+(avg. len)*sqrt(|V|)</TD><TD>epsilon</TD><TD>neato only</TD> </TR>
 
130
 <TR><TD><A NAME=a:dim HREF=#d:dim>dim</A>
 
131
</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>fdp, neato only</TD> </TR>
 
132
 <TR><TD><A NAME=a:dir HREF=#d:dir>dir</A>
 
133
</TD><TD>E</TD><TD><A HREF=#k:dirType>dirType</A>
 
134
</TD><TD ALIGN="CENTER">forward(directed)<BR>none(undirected)</TD><TD></TD><TD></TD> </TR>
 
135
 <TR><TD><A NAME=a:distortion HREF=#d:distortion>distortion</A>
 
136
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
 
137
 <TR><TD><A NAME=a:dpi HREF=#d:dpi>dpi</A>
 
138
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">96.0<BR>0.0</TD><TD></TD><TD>svg, bitmap output only</TD> </TR>
 
139
 <TR><TD><A NAME=a:epsilon HREF=#d:epsilon>epsilon</A>
 
140
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">.0001 * # nodes(mode == KK)<BR>.0001(mode == major)</TD><TD></TD><TD>neato only</TD> </TR>
 
141
 <TR><TD><A NAME=a:fillcolor HREF=#d:fillcolor>fillcolor</A>
 
142
</TD><TD>NC</TD><TD><A HREF=#k:color>color</A>
 
143
</TD><TD ALIGN="CENTER">lightgrey(nodes)<BR>black(clusters)</TD><TD></TD><TD></TD> </TR>
 
144
 <TR><TD><A NAME=a:fixedsize HREF=#d:fixedsize>fixedsize</A>
 
145
</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
 
146
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
147
 <TR><TD><A NAME=a:fontcolor HREF=#d:fontcolor>fontcolor</A>
 
148
</TD><TD>ENGC</TD><TD><A HREF=#k:color>color</A>
 
149
</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
 
150
 <TR><TD><A NAME=a:fontname HREF=#d:fontname>fontname</A>
 
151
</TD><TD>ENGC</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
 
152
 <TR><TD><A NAME=a:fontpath HREF=#d:fontpath>fontpath</A>
 
153
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">system-dependent</TD><TD></TD><TD></TD> </TR>
 
154
 <TR><TD><A NAME=a:fontsize HREF=#d:fontsize>fontsize</A>
 
155
</TD><TD>ENGC</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
 
156
 <TR><TD><A NAME=a:group HREF=#d:group>group</A>
 
157
</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
 
158
 <TR><TD><A NAME=a:headURL HREF=#d:headURL>headURL</A>
 
159
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
160
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>map only</TD> </TR>
 
161
 <TR><TD><A NAME=a:headclip HREF=#d:headclip>headclip</A>
 
162
</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
 
163
</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
 
164
 <TR><TD><A NAME=a:headhref HREF=#d:headhref>headhref</A>
 
165
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
166
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>map only</TD> </TR>
 
167
 <TR><TD><A NAME=a:headlabel HREF=#d:headlabel>headlabel</A>
 
168
</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
 
169
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
170
 <TR><TD><A NAME=a:headport HREF=#d:headport>headport</A>
 
171
</TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
 
172
</TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
 
173
 <TR><TD><A NAME=a:headtarget HREF=#d:headtarget>headtarget</A>
 
174
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
175
</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>map only</TD> </TR>
 
176
 <TR><TD><A NAME=a:headtooltip HREF=#d:headtooltip>headtooltip</A>
 
177
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
178
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>cmap only</TD> </TR>
 
179
 <TR><TD><A NAME=a:height HREF=#d:height>height</A>
 
180
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.5</TD><TD>0.02</TD><TD></TD> </TR>
 
181
 <TR><TD><A NAME=a:href HREF=#d:href>href</A>
 
182
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
183
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
 
184
 <TR><TD><A NAME=a:label HREF=#d:label>label</A>
 
185
</TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
 
186
</TD><TD ALIGN="CENTER">"N"</TD><TD>(nodes)<BR>"" (otherwise)</TD><TD></TD> </TR>
 
187
 <TR><TD><A NAME=a:labelangle HREF=#d:labelangle>labelangle</A>
 
188
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">-25.0</TD><TD>-180.0</TD><TD></TD> </TR>
 
189
 <TR><TD><A NAME=a:labeldistance HREF=#d:labeldistance>labeldistance</A>
 
190
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
 
191
 <TR><TD><A NAME=a:labelfloat HREF=#d:labelfloat>labelfloat</A>
 
192
</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
 
193
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
194
 <TR><TD><A NAME=a:labelfontcolor HREF=#d:labelfontcolor>labelfontcolor</A>
 
195
</TD><TD>E</TD><TD><A HREF=#k:color>color</A>
 
196
</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
 
197
 <TR><TD><A NAME=a:labelfontname HREF=#d:labelfontname>labelfontname</A>
 
198
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
 
199
 <TR><TD><A NAME=a:labelfontsize HREF=#d:labelfontsize>labelfontsize</A>
 
200
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
 
201
 <TR><TD><A NAME=a:labeljust HREF=#d:labeljust>labeljust</A>
 
202
</TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"c"</TD><TD></TD><TD></TD> </TR>
 
203
 <TR><TD><A NAME=a:labelloc HREF=#d:labelloc>labelloc</A>
 
204
</TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"t"</TD><TD>clusters)<BR>"b"(root graphs)</TD><TD></TD> </TR>
 
205
 <TR><TD><A NAME=a:landscape HREF=#d:landscape>landscape</A>
 
206
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
207
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
208
 <TR><TD><A NAME=a:layer HREF=#d:layer>layer</A>
 
209
</TD><TD>EN</TD><TD><A HREF=#k:layerRange>layerRange</A>
 
210
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
211
 <TR><TD><A NAME=a:layers HREF=#d:layers>layers</A>
 
212
</TD><TD>G</TD><TD><A HREF=#k:layerList>layerList</A>
 
213
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
214
 <TR><TD><A NAME=a:layersep HREF=#d:layersep>layersep</A>
 
215
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">" :\t"</TD><TD></TD><TD></TD> </TR>
 
216
 <TR><TD><A NAME=a:len HREF=#d:len>len</A>
 
217
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0(neato)<BR>0.3(fdp)</TD><TD></TD><TD>fdp, neato only</TD> </TR>
 
218
 <TR><TD><A NAME=a:levelsgap HREF=#d:levelsgap>levelsgap</A>
 
219
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD></TD><TD>neato only</TD> </TR>
 
220
 <TR><TD><A NAME=a:lhead HREF=#d:lhead>lhead</A>
 
221
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
 
222
 <TR><TD><A NAME=a:lp HREF=#d:lp>lp</A>
 
223
</TD><TD>EGC</TD><TD><A HREF=#k:point>point</A>
 
224
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
 
225
 <TR><TD><A NAME=a:ltail HREF=#d:ltail>ltail</A>
 
226
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
 
227
 <TR><TD><A NAME=a:margin HREF=#d:margin>margin</A>
 
228
</TD><TD>NG</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
 
229
</TD><TD ALIGN="CENTER">&#60;device-dependent&#62;</TD><TD></TD><TD></TD> </TR>
 
230
 <TR><TD><A NAME=a:maxiter HREF=#d:maxiter>maxiter</A>
 
231
</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">100 * # nodes(mode == KK)<BR>200(mode == major)<BR>600(fdp)</TD><TD></TD><TD>fdp, neato only</TD> </TR>
 
232
 <TR><TD><A NAME=a:mclimit HREF=#d:mclimit>mclimit</A>
 
233
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD></TD><TD>dot only</TD> </TR>
 
234
 <TR><TD><A NAME=a:mindist HREF=#d:mindist>mindist</A>
 
235
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>circo only</TD> </TR>
 
236
 <TR><TD><A NAME=a:minlen HREF=#d:minlen>minlen</A>
 
237
</TD><TD>E</TD><TD>int</TD><TD ALIGN="CENTER">1</TD><TD>0</TD><TD>dot only</TD> </TR>
 
238
 <TR><TD><A NAME=a:mode HREF=#d:mode>mode</A>
 
239
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"major"</TD><TD></TD><TD>neato only</TD> </TR>
 
240
 <TR><TD><A NAME=a:model HREF=#d:model>model</A>
 
241
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"shortpath"</TD><TD></TD><TD>neato only</TD> </TR>
 
242
 <TR><TD><A NAME=a:nodesep HREF=#d:nodesep>nodesep</A>
 
243
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.25</TD><TD>0.02</TD><TD>dot only</TD> </TR>
 
244
 <TR><TD><A NAME=a:nojustify HREF=#d:nojustify>nojustify</A>
 
245
</TD><TD>GCNE</TD><TD><A HREF=#k:bool>bool</A>
 
246
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
247
 <TR><TD><A NAME=a:normalize HREF=#d:normalize>normalize</A>
 
248
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
249
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
 
250
 <TR><TD><A NAME=a:nslimit HREF=#d:nslimit>nslimit</A>
 
251
<BR><A NAME=a:nslimit1 HREF=#d:nslimit1>nslimit1</A>
 
252
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
 
253
 <TR><TD><A NAME=a:ordering HREF=#d:ordering>ordering</A>
 
254
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
 
255
 <TR><TD><A NAME=a:orientation HREF=#d:orientation>orientation</A>
 
256
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>360.0</TD><TD></TD> </TR>
 
257
 <TR><TD><A NAME=aa:orientation HREF=#dd:orientation>orientation</A>
 
258
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
259
 <TR><TD><A NAME=a:outputorder HREF=#d:outputorder>outputorder</A>
 
260
</TD><TD>G</TD><TD><A HREF=#k:outputMode>outputMode</A>
 
261
</TD><TD ALIGN="CENTER">breadthfirst</TD><TD></TD><TD></TD> </TR>
 
262
 <TR><TD><A NAME=a:overlap HREF=#d:overlap>overlap</A>
 
263
</TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
 
264
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>not dot</TD> </TR>
 
265
 <TR><TD><A NAME=a:pack HREF=#d:pack>pack</A>
 
266
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
267
<BR>int</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
 
268
 <TR><TD><A NAME=a:packmode HREF=#d:packmode>packmode</A>
 
269
</TD><TD>G</TD><TD><A HREF=#k:packMode>packMode</A>
 
270
</TD><TD ALIGN="CENTER">node</TD><TD></TD><TD>not dot</TD> </TR>
 
271
 <TR><TD><A NAME=a:page HREF=#d:page>page</A>
 
272
</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
 
273
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
 
274
 <TR><TD><A NAME=a:pagedir HREF=#d:pagedir>pagedir</A>
 
275
</TD><TD>G</TD><TD><A HREF=#k:pagedir>pagedir</A>
 
276
</TD><TD ALIGN="CENTER">BL</TD><TD></TD><TD></TD> </TR>
 
277
 <TR><TD><A NAME=a:pencolor HREF=#d:pencolor>pencolor</A>
 
278
</TD><TD>C</TD><TD><A HREF=#k:color>color</A>
 
279
</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
 
280
 <TR><TD><A NAME=a:peripheries HREF=#d:peripheries>peripheries</A>
 
281
</TD><TD>NC</TD><TD>int</TD><TD ALIGN="CENTER">shape default(nodes)<BR>1(clusters)</TD><TD>0</TD><TD></TD> </TR>
 
282
 <TR><TD><A NAME=a:pin HREF=#d:pin>pin</A>
 
283
</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
 
284
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>fdp, neato only</TD> </TR>
 
285
 <TR><TD><A NAME=a:pos HREF=#d:pos>pos</A>
 
286
</TD><TD>EN</TD><TD><A HREF=#k:point>point</A>
 
287
<BR><A HREF=#k:splineType>splineType</A>
 
288
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
 
289
 <TR><TD><A NAME=a:quantum HREF=#d:quantum>quantum</A>
 
290
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>0.0</TD><TD></TD> </TR>
 
291
 <TR><TD><A NAME=a:rank HREF=#d:rank>rank</A>
 
292
</TD><TD>S</TD><TD><A HREF=#k:rankType>rankType</A>
 
293
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
 
294
 <TR><TD><A NAME=a:rankdir HREF=#d:rankdir>rankdir</A>
 
295
</TD><TD>G</TD><TD><A HREF=#k:rankdir>rankdir</A>
 
296
</TD><TD ALIGN="CENTER">TB</TD><TD></TD><TD>dot only</TD> </TR>
 
297
 <TR><TD><A NAME=a:ranksep HREF=#d:ranksep>ranksep</A>
 
298
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.5(dot)<BR>1.0(twopi)</TD><TD>0.02</TD><TD>twopi, dot only</TD> </TR>
 
299
 <TR><TD><A NAME=a:ratio HREF=#d:ratio>ratio</A>
 
300
</TD><TD>G</TD><TD>double<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
 
301
 <TR><TD><A NAME=a:rects HREF=#d:rects>rects</A>
 
302
</TD><TD>N</TD><TD><A HREF=#k:rect>rect</A>
 
303
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
 
304
 <TR><TD><A NAME=a:regular HREF=#d:regular>regular</A>
 
305
</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
 
306
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
 
307
 <TR><TD><A NAME=a:remincross HREF=#d:remincross>remincross</A>
 
308
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
309
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
 
310
 <TR><TD><A NAME=a:resolution HREF=#d:resolution>resolution</A>
 
311
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">96.0<BR>0.0</TD><TD></TD><TD>svg, bitmap output only</TD> </TR>
 
312
 <TR><TD><A NAME=a:root HREF=#d:root>root</A>
 
313
</TD><TD>GN</TD><TD>string<BR><A HREF=#k:bool>bool</A>
 
314
</TD><TD ALIGN="CENTER">""</TD><TD>graphs)<BR>false(nodes)</TD><TD>circo, twopi only</TD> </TR>
 
315
 <TR><TD><A NAME=a:rotate HREF=#d:rotate>rotate</A>
 
316
</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD></TD><TD></TD> </TR>
 
317
 <TR><TD><A NAME=a:samehead HREF=#d:samehead>samehead</A>
 
318
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
 
319
 <TR><TD><A NAME=a:sametail HREF=#d:sametail>sametail</A>
 
320
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
 
321
 <TR><TD><A NAME=a:samplepoints HREF=#d:samplepoints>samplepoints</A>
 
322
</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">8</TD><TD></TD><TD></TD> </TR>
 
323
 <TR><TD><A NAME=a:searchsize HREF=#d:searchsize>searchsize</A>
 
324
</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">30</TD><TD></TD><TD>dot only</TD> </TR>
 
325
 <TR><TD><A NAME=a:sep HREF=#d:sep>sep</A>
 
326
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.1</TD><TD></TD><TD>not dot</TD> </TR>
 
327
 <TR><TD><A NAME=a:shape HREF=#d:shape>shape</A>
 
328
</TD><TD>N</TD><TD><A HREF=#k:shape>shape</A>
 
329
</TD><TD ALIGN="CENTER">ellipse</TD><TD></TD><TD></TD> </TR>
 
330
 <TR><TD><A NAME=a:shapefile HREF=#d:shapefile>shapefile</A>
 
331
</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
332
 <TR><TD><A NAME=a:showboxes HREF=#d:showboxes>showboxes</A>
 
333
</TD><TD>ENG</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD>0</TD><TD>dot only</TD> </TR>
 
334
 <TR><TD><A NAME=a:sides HREF=#d:sides>sides</A>
 
335
</TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">4</TD><TD>0</TD><TD></TD> </TR>
 
336
 <TR><TD><A NAME=a:size HREF=#d:size>size</A>
 
337
</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
 
338
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
 
339
 <TR><TD><A NAME=a:skew HREF=#d:skew>skew</A>
 
340
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
 
341
 <TR><TD><A NAME=a:splines HREF=#d:splines>splines</A>
 
342
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
343
<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
 
344
 <TR><TD><A NAME=a:start HREF=#d:start>start</A>
 
345
</TD><TD>G</TD><TD><A HREF=#k:startType>startType</A>
 
346
</TD><TD ALIGN="CENTER">"random"</TD><TD></TD><TD>fdp, neato only</TD> </TR>
 
347
 <TR><TD><A NAME=a:style HREF=#d:style>style</A>
 
348
</TD><TD>ENC</TD><TD><A HREF=#k:style>style</A>
 
349
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
 
350
 <TR><TD><A NAME=a:stylesheet HREF=#d:stylesheet>stylesheet</A>
 
351
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
 
352
 <TR><TD><A NAME=a:tailURL HREF=#d:tailURL>tailURL</A>
 
353
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
354
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>map only</TD> </TR>
 
355
 <TR><TD><A NAME=a:tailclip HREF=#d:tailclip>tailclip</A>
 
356
</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
 
357
</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
 
358
 <TR><TD><A NAME=a:tailhref HREF=#d:tailhref>tailhref</A>
 
359
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
360
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>map only</TD> </TR>
 
361
 <TR><TD><A NAME=a:taillabel HREF=#d:taillabel>taillabel</A>
 
362
</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
 
363
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
 
364
 <TR><TD><A NAME=a:tailport HREF=#d:tailport>tailport</A>
 
365
</TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
 
366
</TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
 
367
 <TR><TD><A NAME=a:tailtarget HREF=#d:tailtarget>tailtarget</A>
 
368
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
369
</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>map only</TD> </TR>
 
370
 <TR><TD><A NAME=a:tailtooltip HREF=#d:tailtooltip>tailtooltip</A>
 
371
</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
 
372
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>cmap only</TD> </TR>
 
373
 <TR><TD><A NAME=a:target HREF=#d:target>target</A>
 
374
</TD><TD>ENGC</TD><TD><A HREF=#k:escString>escString</A>
 
375
<BR>string</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
 
376
 <TR><TD><A NAME=a:tooltip HREF=#d:tooltip>tooltip</A>
 
377
</TD><TD>NEC</TD><TD><A HREF=#k:escString>escString</A>
 
378
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>cmap only</TD> </TR>
 
379
 <TR><TD><A NAME=a:truecolor HREF=#d:truecolor>truecolor</A>
 
380
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
 
381
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>bitmap output only</TD> </TR>
 
382
 <TR><TD><A NAME=a:vertices HREF=#d:vertices>vertices</A>
 
383
</TD><TD>N</TD><TD><A HREF=#k:pointfList>pointfList</A>
 
384
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
 
385
 <TR><TD><A NAME=a:viewport HREF=#d:viewport>viewport</A>
 
386
</TD><TD>G</TD><TD><A HREF=#k:viewPort>viewPort</A>
 
387
</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>bitmap output, cmap, map only</TD> </TR>
 
388
 <TR><TD><A NAME=a:voro_margin HREF=#d:voro_margin>voro_margin</A>
 
389
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.05</TD><TD>0.0</TD><TD>not dot</TD> </TR>
 
390
 <TR><TD><A NAME=a:weight HREF=#d:weight>weight</A>
 
391
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0(dot)<BR>1(neato)</TD><TD></TD> </TR>
 
392
 <TR><TD><A NAME=a:width HREF=#d:width>width</A>
 
393
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.75</TD><TD>0.01</TD><TD></TD> </TR>
 
394
 <TR><TD><A NAME=a:z HREF=#d:z>z</A>
 
395
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-MAXFLOAT<BR>-1000</TD><TD></TD> </TR>
 
396
</TABLE>
 
397
<HR>
 
398
<H1>Attribute Descriptions</H1>
 
399
<DL>
 
400
<DT><A NAME=d:Damping HREF=#a:Damping><STRONG>Damping</STRONG></A>
 
401
<DD>  Factor damping force motions. On each iteration, a nodes movement
 
402
  is limited to this factor of its potential motion. By being less than
 
403
  1.0, the system tends to ``cool'', thereby preventing cycling.
 
404
 
 
405
<DT><A NAME=d:K HREF=#a:K><STRONG>K</STRONG></A>
 
406
<DD>  Spring constant used in virtual physical model. It roughly corresponds
 
407
  to an ideal edge length (in inches), in that increasing K tends to 
 
408
  increase the distance between nodes.
 
409
  Note that the edge attribute <A HREF=#d:len>len</A> can be used to
 
410
  override this value for adjacent nodes.
 
411
 
 
412
<DT><A NAME=d:URL HREF=#a:URL><STRONG>URL</STRONG></A>
 
413
<DD>  Hyperlinks incorporated into device-dependent output. 
 
414
  At present, used in ps2, cmap, i*map and svg formats. 
 
415
  For all these formats, URLs can be attached to nodes, edges and
 
416
  clusters. URL attributes can also be attached to the root graph in ps2,
 
417
  cmap and i*map formats. This serves as the base URL for relative URLs in the 
 
418
  former, and as the default image map file in the latter.
 
419
  <P>
 
420
  The active area for a node or cluster is its bounding box. For edges,
 
421
  the active areas are small circles where the edge contacts its head
 
422
  and tail nodes. These areas may overlap the related node, and the edge
 
423
  URL dominates.
 
424
  If the edge has a label, this will also be active. 
 
425
  Finally, if the edge has a head or tail label, this will also be active.
 
426
  Note, however, that if the edge has a <A HREF=#d:headURL>headURL</A> 
 
427
  attribute, it is this value that is used near the head node and on
 
428
  the head label, if defined. The similar restriction holds when
 
429
  <A HREF=#d:tailURL>tailURL</A> is defined.
 
430
  <P>
 
431
  The URL of the root graph is only treated as an
 
432
  <A HREF=#k:escString>escString</A> if the output format is cmap.
 
433
 
 
434
<DT><A NAME=d:arrowhead HREF=#a:arrowhead><STRONG>arrowhead</STRONG></A>
 
435
<DD>  Style of arrowhead on the head node of an edge. 
 
436
  See also the <A HREF=#d:dir>dir</A> attribute, 
 
437
  and a <A HREF=#h:undir_note>limitation</A>.
 
438
 
 
439
<DT><A NAME=d:arrowsize HREF=#a:arrowsize><STRONG>arrowsize</STRONG></A>
 
440
<DD>  Multiplicative scale factor for arrowheads.
 
441
 
 
442
<DT><A NAME=d:arrowtail HREF=#a:arrowtail><STRONG>arrowtail</STRONG></A>
 
443
<DD>  Style of arrowhead on the tail node of an edge. 
 
444
  See also the <A HREF=#d:dir>dir</A> attribute,
 
445
  and a <A HREF=#h:undir_note>limitation</A>.
 
446
 
 
447
<DT><A NAME=d:bb HREF=#a:bb><STRONG>bb</STRONG></A>
 
448
<DD>  Bounding box of drawing in integer points.
 
449
 
 
450
<DT><A NAME=d:bgcolor HREF=#a:bgcolor><STRONG>bgcolor</STRONG></A>
 
451
<DD>  When attached to the root graph, this color is used as the background for 
 
452
  entire canvas. When a cluster attribute, it is used as the initial
 
453
  background for the cluster. If a cluster has a filled 
 
454
  <A HREF=#d:style>style</A>, the
 
455
  cluster's <A HREF=#d:fillcolor>fillcolor</A> will overlay the 
 
456
  background color.
 
457
  <P>
 
458
  If no background color is specified for the root graph, no graphics
 
459
  operation are performed on the background. This works fine for
 
460
  PostScript but for bitmap output, all bits are initialized to something.
 
461
  This means that when the bitmap output is included in some other
 
462
  document, all of the bits within the bitmap's bounding box will be
 
463
  set, overwriting whatever color or graphics where already on the page.
 
464
  If this effect is not desired, and you only want to set bits explicitly
 
465
  assigned in drawing the graph, set <B>background</B>="transparent".
 
466
 
 
467
<DT><A NAME=d:center HREF=#a:center><STRONG>center</STRONG></A>
 
468
<DD>  If true, the drawing is centered in the output canvas.
 
469
 
 
470
<DT><A NAME=d:charset HREF=#a:charset><STRONG>charset</STRONG></A>
 
471
<DD>  Specifies the character encoding used when interpreting string input
 
472
  as a text label. The default value is <TT>"UTF-8"</TT>.
 
473
  The other legal value is <TT>"iso-8859-1"</TT> or, 
 
474
  equivalently,
 
475
 <TT>"Latin1"</TT>. The <B>charset</B> attribute is case-insensitive.
 
476
  Note that if the character encoding used in the input does not
 
477
  match the <B>charset</B> value, the resulting output may be very strange.
 
478
 
 
479
<DT><A NAME=d:clusterrank HREF=#a:clusterrank><STRONG>clusterrank</STRONG></A>
 
480
<DD>  Mode used for handling clusters. If <B>clusterrank</B> is "local", a
 
481
  subgraph whose name begins with "cluster" is given special treatment.
 
482
  The subgraph is laid out separately, and then integrated as a unit into
 
483
  its parent graph, with a bounding rectangle drawn about it. 
 
484
  If the cluster has a <A HREF=#d:label>label</A> parameter, this label
 
485
  is displayed within the rectangle.
 
486
  Note also that there can be clusters within clusters.
 
487
  At present, the modes "global" and "none"
 
488
  appear to be identical, both turning off the special cluster processing.
 
489
 
 
490
<DT><A NAME=d:color HREF=#a:color><STRONG>color</STRONG></A>
 
491
<DD>  Basic drawing color for graphics, not text. For the latter, use the
 
492
  <A HREF=#d.fontcolor>fontcolor</A> attribute. 
 
493
  <P>
 
494
  For edges, the value
 
495
  can either be a single color or a <A HREF=#k:colorList>colorList</A>.
 
496
  In the latter case, the edge is drawn using parallel splines or lines,
 
497
  one for each color in the list, in the order given.
 
498
  The head arrow, if any, is drawn using the first color in the list, 
 
499
  and the tail arrow, if any, the second color. This supports the common 
 
500
  case of drawing opposing edges, but using parallel splines instead of 
 
501
  separately routed multiedges. For example, the graph
 
502
  <PRE>
 
503
  digraph G {
 
504
    a -> b [dir=both color="red:blue"]
 
505
  } 
 
506
  </PRE>
 
507
  yields<BR>
 
508
  <IMG SRC="colorlist.gif">
 
509
 
 
510
<DT><A NAME=d:colorscheme HREF=#a:colorscheme><STRONG>colorscheme</STRONG></A>
 
511
<DD>  This attribute specifies a color scheme namespace. If defined, it specifies
 
512
  the context for interpreting color names. In particular, if a 
 
513
  <A HREF=#k:color>color</A> value has form <TT>"xxx"</TT> or <TT>"//xxx"</TT>, 
 
514
  then the
 
515
  color <TT>xxx</TT> will be evaluated according to the current color scheme.
 
516
  If no color scheme is set, the standard X11 naming is used.
 
517
  For example, if <TT>colorscheme=bugn9</TT>, then <TT>color=7</TT>
 
518
  is interpreted as <TT>"/bugn9/7"</TT>.
 
519
 
 
520
<DT><A NAME=d:comment HREF=#a:comment><STRONG>comment</STRONG></A>
 
521
<DD>  Comments are inserted into output. Device-dependent
 
522
 
 
523
<DT><A NAME=d:compound HREF=#a:compound><STRONG>compound</STRONG></A>
 
524
<DD>  If true, allow edges between clusters. (See <A HREF=#d:lhead>lhead</A> 
 
525
  and <A HREF=#d:ltail>ltail</A> below.)
 
526
 
 
527
<DT><A NAME=d:concentrate HREF=#a:concentrate><STRONG>concentrate</STRONG></A>
 
528
<DD>  If true, use edge concentrators.
 
529
 
 
530
<DT><A NAME=d:constraint HREF=#a:constraint><STRONG>constraint</STRONG></A>
 
531
<DD>  If false, the edge is not used in ranking the nodes. For example,
 
532
  in the graph
 
533
  <PRE>
 
534
  digraph G {
 
535
    a -> c;
 
536
    a -> b;
 
537
    b -> c [constraint=false];
 
538
  }
 
539
  </PRE>
 
540
  the edge <CODE>b -> c</CODE> does not add a constraint during rank
 
541
  assignment, so the only constraints are that a be above b and c,
 
542
  yielding the graph:<BR>
 
543
  <IMG SRC="constraint.gif">
 
544
 
 
545
<DT><A NAME=d:decorate HREF=#a:decorate><STRONG>decorate</STRONG></A>
 
546
<DD>  If true, attach edge label to edge by a 2-segment
 
547
  polyline, underlining the label, then going to the closest point of spline.
 
548
 
 
549
<DT><A NAME=d:defaultdist HREF=#a:defaultdist><STRONG>defaultdist</STRONG></A>
 
550
<DD>  This specifies the distance between nodes in separate connected
 
551
  components. If set too small, connected components may overlap.
 
552
  Only applicable if <A HREF=#d:pack>pack</A>=false.
 
553
 
 
554
<DT><A NAME=d:dim HREF=#a:dim><STRONG>dim</STRONG></A>
 
555
<DD>  Set the number of dimensions used for the layout. The maximum value
 
556
  allowed is 10.
 
557
 
 
558
<DT><A NAME=d:dir HREF=#a:dir><STRONG>dir</STRONG></A>
 
559
<DD>  Set edge type for drawing arrowheads. This indicates which ends of the
 
560
  edge should be decorated with an arrowhead. The actual style of the
 
561
  arrowhead can be specified using the <A HREF=#d:arrowhead>arrowhead</A>
 
562
  and <A HREF=#d:arrowtail>arrowtail</A> attributes.
 
563
  See <A HREF=#h:undir_note>limitation</A>.
 
564
 
 
565
<DT><A NAME=d:distortion HREF=#a:distortion><STRONG>distortion</STRONG></A>
 
566
<DD>  Distortion factor for <A HREF=#d:shape><B>shape</B></A>=polygon. 
 
567
  Positive values cause top part to
 
568
  be larger than bottom; negative values do the opposite.
 
569
 
 
570
<DT><A NAME=d:dpi HREF=#a:dpi><STRONG>dpi</STRONG></A>
 
571
<DD>  This specifies the expected number of pixels per inch on a display device.
 
572
  For bitmap output, this guarantees that text rendering will be
 
573
  done more accurately, both in size and in placement. For SVG output,
 
574
  it is used to guarantee that the dimensions in the output correspond to
 
575
  the correct number of points or inches.
 
576
 
 
577
<DT><A NAME=d:epsilon HREF=#a:epsilon><STRONG>epsilon</STRONG></A>
 
578
<DD>  Terminating condition. If the length squared of all energy gradients are
 
579
  < <B>epsilon</B>, the algorithm stops.
 
580
 
 
581
<DT><A NAME=d:fillcolor HREF=#a:fillcolor><STRONG>fillcolor</STRONG></A>
 
582
<DD>  Color used to fill the background of a node or cluster.
 
583
  If <B>fillcolor</B> is not defined, <A HREF=#d:color>color</A> is 
 
584
  used. (For clusters, if <B>color</B> is not defined, 
 
585
  <A HREF=#d:bgcolor>bgcolor</A> is used.) If this is not defined,
 
586
  the default is used, except for 
 
587
  <A HREF=#d:shape><B>shape</B></A>=point or when the output
 
588
  format is MIF,
 
589
  which use black by default.
 
590
  <P>
 
591
  Note that a cluster inherits the root graph's attributes if defined.
 
592
  Thus, if the root graph has defined a <B>fillcolor</B>, this will override a
 
593
  <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
 
594
 
 
595
<DT><A NAME=d:fixedsize HREF=#a:fixedsize><STRONG>fixedsize</STRONG></A>
 
596
<DD>  If true, the node size is specified by the values of the
 
597
  <A HREF=#d:width><B>width</B></A>  
 
598
  and <A HREF=#d:height><B>height</B></A> attributes only 
 
599
  and is not expanded to contain the text label.
 
600
 
 
601
<DT><A NAME=d:fontcolor HREF=#a:fontcolor><STRONG>fontcolor</STRONG></A>
 
602
<DD>  Color used for text.
 
603
 
 
604
<DT><A NAME=d:fontname HREF=#a:fontname><STRONG>fontname</STRONG></A>
 
605
<DD>  Font used for text. This very much depends on the output format and, for 
 
606
  non-bitmap output such as PostScript or SVG, the availability of the font
 
607
  when the graph is displayed or printed. As such, it is best to rely on
 
608
  font faces that are generally available, such as Times-Roman, Helvetica or
 
609
  Courier.
 
610
  <P>
 
611
  If Graphviz was built using the 
 
612
  <A HREF=http://pdx.freedesktop.org/~fontconfig/fontconfig-user.html>fontconfig library</A>, the latter library
 
613
  will be used to search for the font. However, if the <TT>fontname</TT> string
 
614
  contains a slash character "/", it is treated as a pathname for the font
 
615
  file, though font lookup will append the usual font suffixes.
 
616
  <P>
 
617
  If Graphviz does not use fontconfig, <TT>fontname</TT> will be
 
618
  considered the name of a Type 1 or True Type font file. 
 
619
  If you specify <TT>fontname=schlbk</TT>, the tool will look for a 
 
620
  file named  <TT>schlbk.ttf</TT> or <TT>schlbk.pfa</TT> or <TT>schlbk.pfb</TT>
 
621
  in one of the directories specified by 
 
622
  the <A HREF=#d:fontpath>fontpath</A> attribute.
 
623
  The lookup does support various aliases for the common fonts.
 
624
 
 
625
<DT><A NAME=d:fontpath HREF=#a:fontpath><STRONG>fontpath</STRONG></A>
 
626
<DD>  Directory list used by libgd to search for bitmap fonts if Graphviz
 
627
  was not built with the fontconfig library.
 
628
  If <B>fontpath</B> is not set, the environment 
 
629
  variable <TT>DOTFONTPATH</TT> is checked.
 
630
  If that is not set, <TT>GDFONTPATH</TT> is checked.
 
631
  If not set, libgd uses its compiled-in font path.
 
632
  Note that fontpath is an attribute of the root graph.
 
633
 
 
634
<DT><A NAME=d:fontsize HREF=#a:fontsize><STRONG>fontsize</STRONG></A>
 
635
<DD>  Font size, in points, used for text.
 
636
 
 
637
<DT><A NAME=d:group HREF=#a:group><STRONG>group</STRONG></A>
 
638
<DD>  If the end points of an edge belong to the same group, i.e., have the
 
639
  same group attribute, parameters are set to avoid crossings and keep
 
640
  the edges straight.
 
641
 
 
642
<DT><A NAME=d:headURL HREF=#a:headURL><STRONG>headURL</STRONG></A>
 
643
<DD>  For the output format imap or cmap, if <B>headURL</B> is defined, it is
 
644
  output as part of the head label of the edge. 
 
645
  See <A HREF=#h:undir_note>limitation</A>.
 
646
 
 
647
<DT><A NAME=d:headclip HREF=#a:headclip><STRONG>headclip</STRONG></A>
 
648
<DD>  If true, the head of an edge is clipped to the boundary of the head node;
 
649
  otherwise, the end of the edge goes to the center of the node, or the
 
650
  center of a port, if applicable.
 
651
 
 
652
<DT><A NAME=d:headhref HREF=#a:headhref><STRONG>headhref</STRONG></A>
 
653
<DD>  Synonym for <A HREF=#d:headURL>headURL</A>.
 
654
 
 
655
<DT><A NAME=d:headlabel HREF=#a:headlabel><STRONG>headlabel</STRONG></A>
 
656
<DD>  Text label to be placed near head of edge.
 
657
  See <A HREF=#h:undir_note>limitation</A>.
 
658
 
 
659
<DT><A NAME=d:headport HREF=#a:headport><STRONG>headport</STRONG></A>
 
660
<DD>  Indicates where on the head node to attach the head of the edge.
 
661
  In the default case, the edge is aimed towards the center of the node,
 
662
  and then clipped at the node boundary.
 
663
  See <A HREF=#h:undir_note>limitation</A>.
 
664
 
 
665
<DT><A NAME=d:headtarget HREF=#a:headtarget><STRONG>headtarget</STRONG></A>
 
666
<DD>  If the edge has a <A HREF=#d:headURL>headURL</A>, 
 
667
  this attribute determines which window of the 
 
668
  browser is used
 
669
  for the URL. Setting it to "_graphviz" will open a new window if it 
 
670
  doesn't already exist, or reuse it if it does.
 
671
  If undefined, the value of the <A HREF=#d:target>target</A> is used.
 
672
 
 
673
<DT><A NAME=d:headtooltip HREF=#a:headtooltip><STRONG>headtooltip</STRONG></A>
 
674
<DD>  Tooltip annotation attached to the head of an edge. This is used only
 
675
  if the edge has a <A HREF=#d:headURL>headURL</A> attribute.
 
676
 
 
677
<DT><A NAME=d:height HREF=#a:height><STRONG>height</STRONG></A>
 
678
<DD>  Height of node, in inches. This is taken as the initial, minimum height
 
679
  of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
 
680
  will be the final height of the node. Otherwise, if the node label
 
681
  requires more height to fit, the node's height will be increased to
 
682
  contain the label. Note also that, if the output format is dot, the
 
683
  value given to <B>height</B> will be the final value.
 
684
 
 
685
<DT><A NAME=d:href HREF=#a:href><STRONG>href</STRONG></A>
 
686
<DD>  Synonym for <A HREF=#d:URL>URL</A>.
 
687
 
 
688
<DT><A NAME=d:label HREF=#a:label><STRONG>label</STRONG></A>
 
689
<DD>  Text label attached to objects.
 
690
  If a node's <A HREF=#d:shape>shape</A> is record, then the label can
 
691
  have a <A HREF=shapes.html#record>special format</A> 
 
692
  which describes the record layout.
 
693
 
 
694
<DT><A NAME=d:labelangle HREF=#a:labelangle><STRONG>labelangle</STRONG></A>
 
695
<DD>  This, along with <A HREF=#d:labeldistance>labeldistance</A>, determine 
 
696
  where the
 
697
  headlabel (taillabel) are placed with respect to the head (tail)
 
698
  in polar coordinates. The origin in the coordinate system is
 
699
  the point where the edge touches the node. The ray of 0 degrees
 
700
  goes from the origin back along the edge, parallel to the edge
 
701
  at the origin. 
 
702
  <P> 
 
703
  The angle, in degrees, specifies the rotation from the 0 degree ray,
 
704
  with positive angles moving counterclockwise and negative angles
 
705
  moving clockwise.
 
706
 
 
707
<DT><A NAME=d:labeldistance HREF=#a:labeldistance><STRONG>labeldistance</STRONG></A>
 
708
<DD>  Multiplicative scaling factor adjusting the distance that 
 
709
  the headlabel(taillabel) is from the head(tail) node.
 
710
  The default distance is 10 points. See <A HREF=#d:labelangle>labelangle</A>
 
711
  for more details.
 
712
 
 
713
<DT><A NAME=d:labelfloat HREF=#a:labelfloat><STRONG>labelfloat</STRONG></A>
 
714
<DD>  If true, allows edge labels to be less constrained in position.
 
715
  In particular, it may appear on top of other edges.
 
716
 
 
717
<DT><A NAME=d:labelfontcolor HREF=#a:labelfontcolor><STRONG>labelfontcolor</STRONG></A>
 
718
<DD>  Color used for headlabel and taillabel.
 
719
  If not set, defaults to edge's fontcolor.
 
720
 
 
721
<DT><A NAME=d:labelfontname HREF=#a:labelfontname><STRONG>labelfontname</STRONG></A>
 
722
<DD>  Font used for headlabel and taillabel. 
 
723
  If not set, defaults to edge's fontname.
 
724
 
 
725
<DT><A NAME=d:labelfontsize HREF=#a:labelfontsize><STRONG>labelfontsize</STRONG></A>
 
726
<DD>  Font size, in points, used for headlabel and taillabel.
 
727
  If not set, defaults to edge's fontsize.
 
728
 
 
729
<DT><A NAME=d:labeljust HREF=#a:labeljust><STRONG>labeljust</STRONG></A>
 
730
<DD>  Justification for cluster labels. If "r", the label
 
731
  is right-justified within bounding rectangle; if "l", left-justified;
 
732
  else the label is centered.
 
733
  Note that a subgraph inherits attributes from its parent. Thus, if
 
734
  the root graph sets <B>labeljust</B> to "l", the subgraph inherits
 
735
  this value.
 
736
 
 
737
<DT><A NAME=d:labelloc HREF=#a:labelloc><STRONG>labelloc</STRONG></A>
 
738
<DD>  Top/bottom placement of graph and cluster labels. 
 
739
  If the attribute is "t", place label at the top;
 
740
  if the attribute is "b", place label at the bottom.
 
741
  By default, root
 
742
  graph labels go on the bottom and cluster labels go on the top.
 
743
  Note that a subgraph inherits attributes from its parent. Thus, if
 
744
  the root graph sets <B>labelloc</B> to "b", the subgraph inherits
 
745
  this value.
 
746
 
 
747
<DT><A NAME=d:landscape HREF=#a:landscape><STRONG>landscape</STRONG></A>
 
748
<DD>  If true, the graph is rendered in landscape mode. Synonymous with
 
749
  <A HREF=#d:rotate><TT>rotate=90</TT></A> or 
 
750
  <A HREF=#d:orientation><TT>orientation=landscape</TT></A>.
 
751
 
 
752
<DT><A NAME=d:layer HREF=#a:layer><STRONG>layer</STRONG></A>
 
753
<DD>  Specifies layers in which the node or edge is present.
 
754
 
 
755
<DT><A NAME=d:layers HREF=#a:layers><STRONG>layers</STRONG></A>
 
756
<DD>  Specifies a linearly ordered list of layer names attached to the graph
 
757
  The graph is then output in separate layers. Only those components 
 
758
  belonging to the current output layer appear. For more information,
 
759
  see the page <A HREF="http://www.graphviz.org/Documentation/html/layers/">How to use drawing layers (overlays)</A>.
 
760
 
 
761
<DT><A NAME=d:layersep HREF=#a:layersep><STRONG>layersep</STRONG></A>
 
762
<DD>  Specifies the separator characters used to split the 
 
763
  <A HREF=#d:layers>layers </A>attribute into a list of layer names.
 
764
 
 
765
<DT><A NAME=d:len HREF=#a:len><STRONG>len</STRONG></A>
 
766
<DD>  Preferred edge length, in inches.
 
767
 
 
768
<DT><A NAME=d:levelsgap HREF=#a:levelsgap><STRONG>levelsgap</STRONG></A>
 
769
<DD>  Specifies strictness of level constraints in neato when <TT>mode="hier"</TT>.
 
770
  Larger positive values mean stricter constraints, which demand more 
 
771
  separation between levels. On the other hand, negative values will relax 
 
772
  the constraints by allowing some overlap between the levels.
 
773
 
 
774
<DT><A NAME=d:lhead HREF=#a:lhead><STRONG>lhead</STRONG></A>
 
775
<DD>  Logical head of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
 
776
  if <B>lhead</B> is defined and is the name of a cluster containing 
 
777
  the real head,
 
778
  the edge is clipped to the boundary of the cluster.
 
779
  See <A HREF=#h:undir_note>limitation</A>.
 
780
 
 
781
<DT><A NAME=d:lp HREF=#a:lp><STRONG>lp</STRONG></A>
 
782
<DD>  Label position, in points.
 
783
 
 
784
<DT><A NAME=d:ltail HREF=#a:ltail><STRONG>ltail</STRONG></A>
 
785
<DD>  Logical tail of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
 
786
  if <B>ltail</B> is defined and is the name of a cluster 
 
787
  containing the real tail,
 
788
  the edge is clipped to the boundary of the cluster.
 
789
  See <A HREF=#h:undir_note>limitation</A>.
 
790
 
 
791
<DT><A NAME=d:margin HREF=#a:margin><STRONG>margin</STRONG></A>
 
792
<DD>  For graphs, this sets x and y margins of canvas, in inches. If the margin
 
793
  is a single double, both margins are set equal to the given value.
 
794
  <P>
 
795
  For nodes, this attribute specifies space left around the node's label.
 
796
  By default, the value is <TT>0.11,0.055</TT>.
 
797
 
 
798
<DT><A NAME=d:maxiter HREF=#a:maxiter><STRONG>maxiter</STRONG></A>
 
799
<DD>  Sets the number of iterations used.
 
800
 
 
801
<DT><A NAME=d:mclimit HREF=#a:mclimit><STRONG>mclimit</STRONG></A>
 
802
<DD>  Multiplicative scale factor used to alter the MinQuit (default = 8)
 
803
  and MaxIter (default = 24) parameters used during crossing
 
804
  minimization. These correspond to the 
 
805
  number of tries without improvement before quitting and the
 
806
  maximum number of iterations in each pass.
 
807
 
 
808
<DT><A NAME=d:mindist HREF=#a:mindist><STRONG>mindist</STRONG></A>
 
809
<DD>  Specifies the minimum separation between all nodes.
 
810
 
 
811
<DT><A NAME=d:minlen HREF=#a:minlen><STRONG>minlen</STRONG></A>
 
812
<DD>  Minimum edge length (rank difference between head and tail).
 
813
 
 
814
<DT><A NAME=d:mode HREF=#a:mode><STRONG>mode</STRONG></A>
 
815
<DD>  Technique for optimizing the layout. If <B>mode</B> is <TT>"major"</TT>,
 
816
  neato uses stress majorization. If <B>mode</B> is <TT>"KK"</TT>,
 
817
  neato uses a version of the gradient descent method. The only advantage
 
818
  to the latter technique is that it is sometimes appreciably faster for
 
819
  small (number of nodes < 100) graphs. A significant disadvantage is that
 
820
  it may cycle.
 
821
  <P>
 
822
  There is a new, experimental mode in neato, "hier", which adds a top-down
 
823
  directionality similar to the layout used in dot.
 
824
 
 
825
<DT><A NAME=d:model HREF=#a:model><STRONG>model</STRONG></A>
 
826
<DD>  This value specifies how the distance matrix is computed for the input
 
827
  graph. The distance matrix specifies the ideal distance between every
 
828
  pair of nodes. neato attemps to find a layout which best achieves
 
829
  these distances. By default, it uses the length of the shortest path,
 
830
  where the length of each edge is given by its <A HREF=#d:len>len</A>
 
831
  attribute. If <B>model</B> is <TT>"circuit"</TT>, neato uses the
 
832
  circuit resistance 
 
833
  model to compute the distances. This tends to emphasize clusters. If
 
834
  <B>model</B> is <TT>"subset"</TT>, neato uses the subset model. This sets the
 
835
  edge length to be the number of nodes that are neighbors of exactly one
 
836
  of the end points, and then calculates the shortest paths. This helps
 
837
  to separate nodes with high degree. 
 
838
 
 
839
<DT><A NAME=d:nodesep HREF=#a:nodesep><STRONG>nodesep</STRONG></A>
 
840
<DD>  Minimum space between two adjacent nodes in the same rank, in inches.
 
841
 
 
842
<DT><A NAME=d:nojustify HREF=#a:nojustify><STRONG>nojustify</STRONG></A>
 
843
<DD>  By default, the justification of multi-line labels is done within the
 
844
  largest context that makes sense. Thus, in the label of a polygonal
 
845
  node, a left-justified line will align with the left side of the node
 
846
  (shifted by the prescribed <A HREF=#d:margin>margin</A>).
 
847
  In record nodes, left-justified
 
848
  line will line up with the left side of the enclosing column of fields.
 
849
  If <B>nojustify</B> is <TT>"true"</TT>, multi-line labels will be justified 
 
850
  in the context of itself. For example, if the attribute is set, 
 
851
  the first label line is long, and the second is shorter and left-justified,
 
852
  the second will align with the left-most character in the first line,
 
853
  regardless of  how large the node might be.
 
854
 
 
855
<DT><A NAME=d:normalize HREF=#a:normalize><STRONG>normalize</STRONG></A>
 
856
<DD>  If set, normalize coordinates of final
 
857
  layout so that the first point is at the origin, and then rotate the
 
858
  layout so that the first edge is horizontal.
 
859
 
 
860
<DT><A NAME=d:nslimit HREF=#a:nslimit><STRONG>nslimit</STRONG></A>
 
861
,<DT><A NAME=d:nslimit1 HREF=#a:nslimit1><STRONG>nslimit1</STRONG></A>
 
862
<DD>  Used to set number of iterations in
 
863
  network simplex applications. <B>nslimit</B> is used in
 
864
  computing node x coordinates, <B>nslimit1</B> for ranking nodes.
 
865
  If defined, # iterations =  <B>nslimit(1)</B> * # nodes;
 
866
  otherwise,  # iterations = MAXINT.
 
867
 
 
868
<DT><A NAME=d:ordering HREF=#a:ordering><STRONG>ordering</STRONG></A>
 
869
<DD>  If "out" for a graph G, and n is a node in G, then edges n->* appear
 
870
  left-to-right in the same order in which they are defined.
 
871
  If "in", the edges *->n appear
 
872
  left-to-right in the same order in which they are defined for all
 
873
  nodes n.
 
874
 
 
875
<DT><A NAME=d:orientation HREF=#a:orientation><STRONG>orientation</STRONG></A>
 
876
<DD>  Angle, in degrees, used to rotate node shapes.
 
877
 
 
878
<DT><A NAME=dd:orientation HREF=#aa:orientation><STRONG>orientation</STRONG></A>
 
879
<DD>  If "[lL]*", set graph orientation to landscape
 
880
  Used only if <A HREF=#d:rotate><B>rotate</B></A> is not defined.
 
881
 
 
882
<DT><A NAME=d:outputorder HREF=#a:outputorder><STRONG>outputorder</STRONG></A>
 
883
<DD>  Specify order in which nodes and edges are drawn.
 
884
 
 
885
<DT><A NAME=d:overlap HREF=#a:overlap><STRONG>overlap</STRONG></A>
 
886
<DD>  Determines if and how node overlaps should be removed. Nodes are first
 
887
  enlarged using the <A HREF=#d:sep><B>sep</B></A> attribute. 
 
888
  If "true" , overlaps are retained.
 
889
  If the value is "scale", overlaps are removed by uniformly scaling in x and y.
 
890
  If the value converts to "false", node overlaps are removed by a 
 
891
  Voronoi-based technique. 
 
892
  If the value is "scalexy", x and y are separately
 
893
  scaled to remove overlaps. 
 
894
  If the value is "orthoxy" or "orthoyx", overlaps
 
895
  are moved by optimizing two constraint problems, one for the x axis and
 
896
  one for the y. The suffix indicates which axis is processed first.
 
897
  If the value is "ortho", the technique is similar to "orthoxy" except a
 
898
  heuristic is used to reduce the bias between the two passes.
 
899
  If the value is "ortho_yx", the technique is the same as "ortho", except
 
900
  the roles of x and y are reversed.
 
901
  The values "portho", "porthoxy", "porthoxy", and "portho_yx" are similar
 
902
  to the previous four, except only pseudo-orthogonal ordering is
 
903
  enforced.
 
904
  <P>
 
905
  If the value is "compress", the layout will be scaled down as much as
 
906
  possible without introducing any overlaps, obviously assuming there are
 
907
  none to begin with.
 
908
  <P>
 
909
  Except for fdp, the layouts assume <TT>overlap="true"</TT> as the default. 
 
910
  Fdp first uses a number of passes using built-in, force-directed technique
 
911
  to remove overlaps. Thus, fdp accepts <B>overlap</B> with an integer
 
912
  prefix followed by a colon, specifying the number of tries. If there is
 
913
  no prefix, no initial tries will be performed. If there is nothing following
 
914
  a colon, none of the above methods will be attempted. By default, fdp
 
915
  uses <TT>overlap="9:portho"</TT>. Note that <TT>overlap="true"</TT>,
 
916
  <TT>overlap="0:true"</TT> and <TT>overlap="0:"</TT> all turn off all overlap
 
917
  removal.
 
918
  <P>
 
919
  Except for the Voronoi method, all of these transforms preserve the
 
920
  orthogonal ordering of the original layout. That is, if the x coordinates
 
921
  of two nodes are originally the same, they will remain the same, and if
 
922
  the x coordinate of one node is originally less than the x coordinate of
 
923
  another, this relation will still hold in the transformed layout. The
 
924
  similar properties hold for the y coordinates.
 
925
  <P>
 
926
  <B>NOTE</B>The methods "orthoxy" and "orthoyx" are still evolving. The
 
927
  semantics of these may change, or these methods may disappear altogether.
 
928
 
 
929
<DT><A NAME=d:pack HREF=#a:pack><STRONG>pack</STRONG></A>
 
930
<DD>  This is true if the value of pack is "true" (case-insensitive) or a
 
931
  non-negative integer. If true, each connected component of the graph is 
 
932
  laid out separately, and then the graphs are packed tightly. 
 
933
  If pack has an integral value, this is used as the size (in points) of
 
934
  a margin around each part; otherwise, a default margin of 8 is used.
 
935
  If pack is interpreted as false, the entire graph is laid out together.
 
936
  The granularity and method of packing is influenced by the
 
937
  <A HREF=#d:packmode>packmode</A> attribute.
 
938
  <P>
 
939
  For layouts which always do packing, such a twopi, the <B>pack</B>
 
940
  attribute is just used to set the margin.
 
941
 
 
942
<DT><A NAME=d:packmode HREF=#a:packmode><STRONG>packmode</STRONG></A>
 
943
<DD>  This indicates the granularity and method used for packing
 
944
  (cf. <A HREF=#k:packMode>packMode</A>). Note that defining
 
945
  <B>packmode</B> will automatically turn on packing as though one had
 
946
  set <B>pack=true</B>.
 
947
 
 
948
<DT><A NAME=d:page HREF=#a:page><STRONG>page</STRONG></A>
 
949
<DD>  Width and height of output pages, in inches. If this is set and is
 
950
  smaller than the size of the layout, a rectangular array of pages of
 
951
  the specified page size is overlaid on the layout, with origins
 
952
  aligned in the lower-left corner, thereby partitioning the layout
 
953
  into pages. The pages are then produced one at a time, in
 
954
  <A HREF=#d:pagedir>pagedir</A> order.
 
955
 
 
956
<DT><A NAME=d:pagedir HREF=#a:pagedir><STRONG>pagedir</STRONG></A>
 
957
<DD>  If the <A HREF=#d:page>page</A> attribute is set and applicable,
 
958
  this attribute specifies the order in which the pages are emitted.
 
959
  This is limited to one of the 8 row or column major orders.
 
960
 
 
961
<DT><A NAME=d:pencolor HREF=#a:pencolor><STRONG>pencolor</STRONG></A>
 
962
<DD>  Color used to draw the bounding box around a cluster.
 
963
  If <B>pencolor</B> is not defined, <A HREF=#d:color><B>color</B></A> is 
 
964
  used. If this is not defined, <A HREF=#d:bgcolor>bgcolor</A> is used.
 
965
  If this is not defined, the default is used.
 
966
  <P>
 
967
  Note that a cluster inherits the root graph's attributes if defined.
 
968
  Thus, if the root graph has defined a <B>pencolor</B>, this will override a
 
969
  <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
 
970
 
 
971
<DT><A NAME=d:peripheries HREF=#a:peripheries><STRONG>peripheries</STRONG></A>
 
972
<DD>  Set number of peripheries used in polygonal shapes and cluster
 
973
  boundaries. Note that
 
974
  <A HREF=shapes.html#epsf>user-defined shapes</A> are treated as a 
 
975
  form of box shape, so the default
 
976
  peripheries value is 1 and the user-defined shape will be drawn in
 
977
  a bounding rectangle. Setting <TT>peripheries=0</TT> will turn this off.
 
978
  Also, 1 is the maximum peripheries value for clusters.
 
979
 
 
980
<DT><A NAME=d:pin HREF=#a:pin><STRONG>pin</STRONG></A>
 
981
<DD>  If true and the node has a pos attribute on input, neato prevents the
 
982
  node from moving from the input position. This property can also be specified
 
983
  in the pos attribute itself (cf. the <A HREF=#d:point>point</A> type).
 
984
 
 
985
<DT><A NAME=d:pos HREF=#a:pos><STRONG>pos</STRONG></A>
 
986
<DD>  Position of node, or spline control points, in points.
 
987
  In neato and fdp, pos can be used to set initial position of a node.
 
988
  Concerning this, see the <A HREF=command.html#d:s>-s</A> command line flag.
 
989
 
 
990
<DT><A NAME=d:quantum HREF=#a:quantum><STRONG>quantum</STRONG></A>
 
991
<DD>  If <B>quantum</B> > 0.0, node label dimensions
 
992
  will be rounded to integral multiples of the quantum.
 
993
 
 
994
<DT><A NAME=d:rank HREF=#a:rank><STRONG>rank</STRONG></A>
 
995
<DD>  Rank constraints on the nodes in a subgraph.
 
996
  If <B>rank</B>="same", all nodes are placed on the same rank. 
 
997
  If <B>rank</B>="min", all nodes are placed on the minimum rank. 
 
998
  If <B>rank</B>="source", all nodes are placed on the minimum rank, and
 
999
  the only nodes on the minimum rank belong to some subgraph whose
 
1000
  rank attribute is "source" or "min". 
 
1001
  Analogous criteria hold for <B>rank</B>="max" and <B>rank</B>="sink".
 
1002
  (Note: the
 
1003
  minimum rank is topmost or leftmost, and the maximum rank is bottommost
 
1004
  or rightmost.)
 
1005
 
 
1006
<DT><A NAME=d:rankdir HREF=#a:rankdir><STRONG>rankdir</STRONG></A>
 
1007
<DD>  Sets direction of graph layout. For example, if <B>rankdir</B>="LR", 
 
1008
  and barring cycles, an edge <CODE>T -> H;</CODE> will go
 
1009
  from left to right. By default, graphs are laid out from top to bottom.
 
1010
 
 
1011
<DT><A NAME=d:ranksep HREF=#a:ranksep><STRONG>ranksep</STRONG></A>
 
1012
<DD>  In dot, this the gives desired rank separation, in inches. This is
 
1013
  the minimum vertical distance between the bottom of the nodes in one
 
1014
  rank and the tops of nodes in the next. If the value
 
1015
  contains "equally", the centers of all ranks are spaced equally apart.
 
1016
  Note that both
 
1017
  settings are possible, e.g., ranksep = "1.2 equally".
 
1018
  In twopi, specifies radial separation of concentric circles.
 
1019
 
 
1020
<DT><A NAME=d:ratio HREF=#a:ratio><STRONG>ratio</STRONG></A>
 
1021
<DD>  Sets the aspect ratio (drawing height/drawing width) for the drawing. 
 
1022
  Note that this is adjusted before
 
1023
  the <A HREF=#d:size><B>size</B></A> attribute constraints are enforced.
 
1024
  <P>
 
1025
  If <B>ratio</B> is numeric, it is taken as the desired aspect ratio.
 
1026
  Then, if the actual aspect ratio is less than the desired ratio, 
 
1027
  the drawing height is scaled up to achieve the
 
1028
  desired ratio; if the actual ratio is greater than that desired ratio, 
 
1029
  the drawing width is scaled up.
 
1030
  <P>
 
1031
  If <B>ratio</B> = "fill" and the <A HREF=#d:size><B>size</B></A>
 
1032
  attribute is set, node positions are scaled, separately in both x
 
1033
  and y, so that the final drawing exactly fills the specified size.
 
1034
  <P>
 
1035
  If <B>ratio</B> = "compress" and the <A HREF=#d:size><B>size</B></A>
 
1036
  attribute is set, dot attempts to compress the initial layout to fit 
 
1037
  in the given size. This achieves a tighter packing of nodes but 
 
1038
  reduces the balance and symmetry. This feature only works in dot.
 
1039
  <P>
 
1040
  If <B>ratio</B> = "expand", the <A HREF=#d:size><B>size</B></A>
 
1041
  attribute is set, and both the width and the height of the graph are
 
1042
  less than the value in  <A HREF=#d:size><B>size</B></A>, node positions are scaled 
 
1043
  uniformly until at least
 
1044
  one dimension fits <A HREF=#d:size><B>size</B></A> exactly.
 
1045
  Note that this is distinct from using <A HREF=#d:size><B>size</B></A> as the
 
1046
  desired size, as here the drawing is expanded before edges are generated and
 
1047
  all node and text sizes remain unchanged.
 
1048
  <P>
 
1049
  If <B>ratio</B> = "auto", the <A HREF=#d:page><B>page</B></A>
 
1050
  attribute is set and the graph cannot be drawn on a single page,
 
1051
  then <A HREF=#d:size><B>size</B></A> is set to an ``ideal'' value.
 
1052
  In particular, the size in a given dimension will be the smallest integral
 
1053
  multiple of the page size in that dimension which is at least half the
 
1054
  current size. The two dimensions are then scaled independently to the
 
1055
  new size. This feature only works in dot.
 
1056
 
 
1057
<DT><A NAME=d:rects HREF=#a:rects><STRONG>rects</STRONG></A>
 
1058
<DD>  Rectangles for fields of records, in points.
 
1059
 
 
1060
<DT><A NAME=d:regular HREF=#a:regular><STRONG>regular</STRONG></A>
 
1061
<DD>  If true, force polygon to be regular.
 
1062
 
 
1063
<DT><A NAME=d:remincross HREF=#a:remincross><STRONG>remincross</STRONG></A>
 
1064
<DD>  If true and there are multiple clusters, run cross
 
1065
  minimization a second time.
 
1066
 
 
1067
<DT><A NAME=d:resolution HREF=#a:resolution><STRONG>resolution</STRONG></A>
 
1068
<DD>  This is a synonym for the <A HREF=#d:dpi>dpi</A> attribute.
 
1069
 
 
1070
<DT><A NAME=d:root HREF=#a:root><STRONG>root</STRONG></A>
 
1071
<DD>  This specifies nodes to be used as the center of the 
 
1072
  layout and the root of the generated spanning tree. As a graph attribute,
 
1073
  this gives the name of the node. As a node attribute (circo only), it
 
1074
  specifies that the node should be used as a central node. In twopi,
 
1075
  this will actually be the central node. In circo, the block containing
 
1076
  the node will be central in the drawing of its connected component.
 
1077
  If not defined,
 
1078
  twopi will pick a most central node, and circo will pick a random node.
 
1079
 
 
1080
<DT><A NAME=d:rotate HREF=#a:rotate><STRONG>rotate</STRONG></A>
 
1081
<DD>  If 90, set drawing orientation to landscape.
 
1082
 
 
1083
<DT><A NAME=d:samehead HREF=#a:samehead><STRONG>samehead</STRONG></A>
 
1084
<DD>  Edges with the same head and the same <B>samehead</B> value are aimed
 
1085
  at the same point on the head.
 
1086
  See <A HREF=#h:undir_note>limitation</A>.
 
1087
 
 
1088
<DT><A NAME=d:sametail HREF=#a:sametail><STRONG>sametail</STRONG></A>
 
1089
<DD>  Edges with the same tail and the same <B>sametail</B> value are aimed
 
1090
  at the same point on the tail.
 
1091
  See <A HREF=#h:undir_note>limitation</A>.
 
1092
 
 
1093
<DT><A NAME=d:samplepoints HREF=#a:samplepoints><STRONG>samplepoints</STRONG></A>
 
1094
<DD>  If the input graph defines the <A HREF=#d:vertices><B>vertices</B></A> 
 
1095
  attribute, and output is dot or xdot, this give
 
1096
  the number of points used to represent circles and ellipses.
 
1097
  It plays the same role in neato, when adjusting the layout to avoid
 
1098
  overlapping nodes.
 
1099
 
 
1100
<DT><A NAME=d:searchsize HREF=#a:searchsize><STRONG>searchsize</STRONG></A>
 
1101
<DD>  During network simplex, maximum number of edges with negative cut values
 
1102
  to search when looking for one with minimum cut value.
 
1103
 
 
1104
<DT><A NAME=d:sep HREF=#a:sep><STRONG>sep</STRONG></A>
 
1105
<DD>  Fraction to increase polygons (multiply
 
1106
  coordinates by 1 + sep) for purposes of determining overlap. Guarantees
 
1107
  a minimal non-zero distance between nodes.
 
1108
 
 
1109
<DT><A NAME=d:shape HREF=#a:shape><STRONG>shape</STRONG></A>
 
1110
<DD>  Set the shape of a node.
 
1111
 
 
1112
<DT><A NAME=d:shapefile HREF=#a:shapefile><STRONG>shapefile</STRONG></A>
 
1113
<DD>  If defined, shapefile specifies a file containing user-supplied node content. 
 
1114
  The <A HREF=#d:shape><B>shape</B></A> of the node is set to box. 
 
1115
  The image in the shapefile must be
 
1116
  rectangular. The image formats supported as well as the precise semantics of 
 
1117
  how the file is used depends on the
 
1118
  <A HREF="http://www.graphviz.org/cvs/doc/info/output.html">output format</A>.  For further details, see
 
1119
  <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_image>External PostScript files</A>.
 
1120
  <P>
 
1121
  There is one exception to this usage. 
 
1122
  If <B>shape</B> is set to "epsf", shapefile gives
 
1123
  a filename containing a definition of the node in PostScript. 
 
1124
  The graphics defined must be contain all of the
 
1125
  node content, including any desired boundaries.
 
1126
  For further details, see
 
1127
  <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_ps>
 
1128
  External PostScript files</A>.
 
1129
 
 
1130
<DT><A NAME=d:showboxes HREF=#a:showboxes><STRONG>showboxes</STRONG></A>
 
1131
<DD>  Print guide boxes in PostScript at the beginning of
 
1132
  routesplines if 1, or at the end if 2. (Debugging)
 
1133
 
 
1134
<DT><A NAME=d:sides HREF=#a:sides><STRONG>sides</STRONG></A>
 
1135
<DD>  Number of sides if <A HREF=#d:shape><B>shape</B></A>=polygon.
 
1136
 
 
1137
<DT><A NAME=d:size HREF=#a:size><STRONG>size</STRONG></A>
 
1138
<DD>  Maximum width and height of drawing, in inches.
 
1139
  If defined and the drawing is too large, the drawing is uniformly 
 
1140
  scaled down so that it fits within the given size. 
 
1141
  <P>
 
1142
  If <TT>size</TT> ends in an exclamation point (<TT>!</TT>), 
 
1143
  then it is taken to be
 
1144
  the desired size. In this case, if both dimensions of the drawing are
 
1145
  less than <TT>size</TT>, the drawing is scaled up uniformly until at
 
1146
  least one dimension equals its dimension in <TT>size</TT>.
 
1147
  <P>
 
1148
  Note that there is some interaction between the <B>size</B> and
 
1149
  <A HREF=#d:ratio><B>ratio</B></A> attributes.
 
1150
 
 
1151
<DT><A NAME=d:skew HREF=#a:skew><STRONG>skew</STRONG></A>
 
1152
<DD>  Skew factor for <A HREF=#d:shape><B>shape</B></A>=polygon. Positive values
 
1153
  skew top of polygon to right; negative to left.
 
1154
 
 
1155
<DT><A NAME=d:splines HREF=#a:splines><STRONG>splines</STRONG></A>
 
1156
<DD>  Controls how, and if, edges are represented. If true, edges are drawn as
 
1157
  splines routed around nodes; if false, edges are drawn as line segments.
 
1158
  (Note: at present (1 Jan 2006), setting <TT>splines=false</TT> has no 
 
1159
  effect in dot.)
 
1160
  If set to "", no edges are drawn at all.
 
1161
  <P>
 
1162
  By default, the attribute is unset. How this is interpreted depends on
 
1163
  the layout. For dot, the default is to draw edges as splines. For all
 
1164
  other layouts, the default is to draw edges as line segments. Note that
 
1165
  for these latter layouts, if <TT>splines="true"</TT>, this
 
1166
  requires non-overlapping nodes (cf. <A HREF=#d:overlap><B>overlap</B></A>).
 
1167
  If fdp is used for layout and <TT>splines="compound"</TT>, then the edges are
 
1168
  drawn to avoid clusters as well as nodes.
 
1169
 
 
1170
<DT><A NAME=d:start HREF=#a:start><STRONG>start</STRONG></A>
 
1171
<DD>  Parameter used to determine the initial layout of nodes. By default,
 
1172
  nodes are randomly placed in a unit square.
 
1173
  The same seed is always used for the random number generator, so the
 
1174
  initial placement is repeatable.
 
1175
 
 
1176
<DT><A NAME=d:style HREF=#a:style><STRONG>style</STRONG></A>
 
1177
<DD>  Set style for node or edge. For cluster subgraph, if "filled", the
 
1178
  cluster box's background is filled.
 
1179
 
 
1180
<DT><A NAME=d:stylesheet HREF=#a:stylesheet><STRONG>stylesheet</STRONG></A>
 
1181
<DD>  A URL or pathname specifying an XML style sheet, used in SVG output.
 
1182
 
 
1183
<DT><A NAME=d:tailURL HREF=#a:tailURL><STRONG>tailURL</STRONG></A>
 
1184
<DD>  When the output format is imap or cmap, if <B>tailURL</B> is defined, it is
 
1185
  output as part of the tail label of the edge.
 
1186
  See <A HREF=#h:undir_note>limitation</A>.
 
1187
 
 
1188
<DT><A NAME=d:tailclip HREF=#a:tailclip><STRONG>tailclip</STRONG></A>
 
1189
<DD>  If true, the tail of an edge is clipped to the boundary of the tail node;
 
1190
  otherwise, the end of the edge goes to the center of the node, or the
 
1191
  center of a port, if applicable.
 
1192
 
 
1193
<DT><A NAME=d:tailhref HREF=#a:tailhref><STRONG>tailhref</STRONG></A>
 
1194
<DD>  Synonym for <A HREF=#d:tailURL>tailURL</A>.
 
1195
 
 
1196
<DT><A NAME=d:taillabel HREF=#a:taillabel><STRONG>taillabel</STRONG></A>
 
1197
<DD>  Text label to be placed near tail of edge.
 
1198
  See <A HREF=#h:undir_note>limitation</A>.
 
1199
 
 
1200
<DT><A NAME=d:tailport HREF=#a:tailport><STRONG>tailport</STRONG></A>
 
1201
<DD>  Indicates where on the tail node to attach the tail of the edge.
 
1202
  See <A HREF=#h:undir_note>limitation</A>.
 
1203
 
 
1204
<DT><A NAME=d:tailtarget HREF=#a:tailtarget><STRONG>tailtarget</STRONG></A>
 
1205
<DD>  If the edge has a <A HREF=#d:tailURL>tailURL</A>, 
 
1206
  this attribute determines which window of the 
 
1207
  browser is used
 
1208
  for the URL. Setting it to "_graphviz" will open a new window if it 
 
1209
  doesn't already exist, or reuse it if it does.
 
1210
  If undefined, the value of the <A HREF=#d:target>target</A> is used.
 
1211
 
 
1212
<DT><A NAME=d:tailtooltip HREF=#a:tailtooltip><STRONG>tailtooltip</STRONG></A>
 
1213
<DD>  Tooltip annotation attached to the tail of an edge. This is used only
 
1214
  if the edge has a <A HREF=#d:tailURL>tailURL</A> attribute.
 
1215
 
 
1216
<DT><A NAME=d:target HREF=#a:target><STRONG>target</STRONG></A>
 
1217
<DD>  If the object has a URL, this attribute determines which window 
 
1218
  of the browser is used for the URL.
 
1219
  See <A HREF="http://www.w3.org/TR/html401/present/frames.html#adef-target">W3C documentation</A>.
 
1220
 
 
1221
<DT><A NAME=d:tooltip HREF=#a:tooltip><STRONG>tooltip</STRONG></A>
 
1222
<DD>  Tooltip annotation attached to the node or edge. If unset, Graphviz
 
1223
  will use the object's <A HREF=#d:label>label</A> if defined.
 
1224
  Note that if the label is a record specification or an HTML-like
 
1225
  label, the resulting tooltip may be unhelpful. In this case, if
 
1226
  tooltips will be generated, the user should set a <TT>tooltip</TT>
 
1227
  attribute explicitly.
 
1228
 
 
1229
<DT><A NAME=d:truecolor HREF=#a:truecolor><STRONG>truecolor</STRONG></A>
 
1230
<DD>  If set explicitly to true or false, the value determines whether or not
 
1231
  internal bitmap rendering relies on a truecolor color model or uses
 
1232
  a color palette.
 
1233
  If the attribute is unset, truecolor is not used 
 
1234
  unless there is a <A HREF=#d:shapefile>shapefile</A> property
 
1235
  for some node in the graph. 
 
1236
  The output model will use the input model when possible.
 
1237
  <P>
 
1238
  Use of color palettes results in less memory usage during creation of the
 
1239
  bitmaps and smaller output files.
 
1240
  <P>
 
1241
  Usually, the only time it is necessary to specify the truetype model
 
1242
  is if the graph uses more than 256 colors.
 
1243
  However, if one uses <A HREF=#d:bgcolor>bgcolor</A>=transparent with 
 
1244
  a color palette, font
 
1245
  antialiasing can show up as a fuzzy white area around characters.
 
1246
  Using <B>truecolor</B>=true avoids this problem.
 
1247
 
 
1248
<DT><A NAME=d:vertices HREF=#a:vertices><STRONG>vertices</STRONG></A>
 
1249
<DD>  If the input graph defines this attribute, the node is polynomial,
 
1250
  and output is dot or xdot, this attribute provides the
 
1251
  coordinates of the vertices of the node's polynomial, in inches.
 
1252
  If the node is an ellipse or circle, the 
 
1253
  <A HREF=#d:samplepoints>samplepoints</A> attribute affects
 
1254
  the output.
 
1255
 
 
1256
<DT><A NAME=d:viewport HREF=#a:viewport><STRONG>viewport</STRONG></A>
 
1257
<DD>  Clipping window on final drawing.
 
1258
 
 
1259
<DT><A NAME=d:voro_margin HREF=#a:voro_margin><STRONG>voro_margin</STRONG></A>
 
1260
<DD>  Factor to scale up drawing to allow margin for expansion in
 
1261
  Voronoi technique. dim' = (1+2*margin)*dim.
 
1262
 
 
1263
<DT><A NAME=d:weight HREF=#a:weight><STRONG>weight</STRONG></A>
 
1264
<DD>  Weight of edge. In dot, the heavier the weight, the shorter,
 
1265
  straighter and more vertical the edge is. In neato, the heavier the
 
1266
  weight, the more neato will try to place the end points so that the
 
1267
  length of the edge is <A HREF=#d:len>len</A>.
 
1268
 
 
1269
<DT><A NAME=d:width HREF=#a:width><STRONG>width</STRONG></A>
 
1270
<DD>  Width of node, in inches. This is taken as the initial, minimum width
 
1271
  of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
 
1272
  will be the final width of the node. Otherwise, if the node label
 
1273
  requires more width to fit, the node's width will be increased to
 
1274
  contain the label. Note also that, if the output format is dot, the
 
1275
  value given to <B>width</B> will be the final value.
 
1276
 
 
1277
<DT><A NAME=d:z HREF=#a:z><STRONG>z</STRONG></A>
 
1278
<DD>  Provides z coordinate value for 3D layouts and displays. If the
 
1279
  graph has <A HREF=#d:dim><B>dim</B></A> set to 3 (or more), 
 
1280
  neato will use a node's <B>z</B> value
 
1281
  for the z coordinate of its initial position if 
 
1282
  its <A HREF=#d:pos><B>pos</B></A> attribute is also defined.
 
1283
  <P>
 
1284
  Even if no <B>z</B> values are specified in the input, it is necessary to
 
1285
  declare a <B>z</B> attribute for nodes, e.g, using <TT>node[z=""]</TT>
 
1286
  in order to get z values on output.
 
1287
  Thus, setting <TT>dim=3</TT> but not declaring <B>z</B> will 
 
1288
  cause <TT>neato -Tvrml</TT> to
 
1289
  layout the graph in 3D but project the layout onto the xy-plane
 
1290
  for the rendering. If the <B>z</B> attribute is declared, the final rendering
 
1291
  will be in 3D.
 
1292
 
 
1293
</DL>
 
1294
<HR>
 
1295
<H1>Attribute Type Descriptions</H1>
 
1296
The following list gives the legal strings corresponding to values of
 
1297
the given types.
 
1298
<DL>
 
1299
<DT><A NAME=k:arrowType><STRONG>arrowType</STRONG></A>
 
1300
<DD><TABLE>
 
1301
    <TR><TD>"normal"<TD><IMG SRC="a_normal.gif">
 
1302
        <TD>"inv"<TD><IMG SRC="a_inv.gif"></TR>
 
1303
    <TR><TD>"dot"<TD><IMG SRC="a_dot.gif">
 
1304
        <TD>"invdot"<TD><IMG SRC="a_invdot.gif"></TR>
 
1305
    <TR><TD>"odot"<TD><IMG SRC="a_odot.gif">   
 
1306
        <TD>"invodot"<TD><IMG SRC="a_invodot.gif"></TR>
 
1307
    <TR><TD>"none"<TD><IMG SRC="a_none.gif">
 
1308
        <TD>"tee"<TD><IMG SRC="a_tee.gif"></TR>
 
1309
    <TR><TD>"empty"<TD><IMG SRC="a_empty.gif">
 
1310
        <TD>"invempty"<TD><IMG SRC="a_invempty.gif"></TR>
 
1311
    <TR><TD>"diamond"<TD><IMG SRC="a_diamond.gif">
 
1312
        <TD>"odiamond"<TD><IMG SRC="a_odiamond.gif"></TR>
 
1313
    <TR><TD>"ediamond"<TD><IMG SRC="a_ediamond.gif">
 
1314
        <TD>"crow"<TD><IMG SRC="a_crow.gif"></TR>
 
1315
    <TR><TD>"box"<TD><IMG SRC="a_box.gif">
 
1316
        <TD>"obox"<TD><IMG SRC="a_obox.gif"></TR>
 
1317
    <TR><TD>"open"<TD><IMG SRC="a_open.gif">
 
1318
        <TD>"halfopen"<TD><IMG SRC="a_halfopen.gif"></TR>
 
1319
    <TR><TD>"vee"<TD><IMG SRC="a_open.gif">
 
1320
    </TABLE>
 
1321
  <P>
 
1322
  These are the basic set of backward-compatible arrow shapes. In addition,
 
1323
  there is a grammar of <A HREF=arrows.html>arrow shapes</A>
 
1324
  which can be used to describe a collection of 1260 arrow shapes as
 
1325
  modifications of a primitive set of 9 arrows. The basic arrows shown
 
1326
  above contain all of the primitive shapes
 
1327
  (<TT>box</TT>, <TT>crow</TT>, <TT>diamond</TT>,
 
1328
  <TT>dot</TT>, <TT>inv</TT>, <TT>none</tt>,
 
1329
  <TT>normal</tt>, <TT>tee</TT>, <TT>vee</TT>)
 
1330
  plus ones that can be derived from the grammar
 
1331
  (<TT>odot</TT>, <TT>invdot</TT>, <TT>invodot</TT>,
 
1332
  <TT>obox</TT>, <TT>odiamond</TT>)
 
1333
  plus some supported as special cases for backward-compatibility
 
1334
  (<TT>ediamond</TT>, <TT>open</TT>, <TT>halfopen</TT>,
 
1335
  <TT>empty</TT>, <TT>invempty</TT>).
 
1336
 
 
1337
<DT><A NAME=k:clusterMode><STRONG>clusterMode</STRONG></A>
 
1338
<DD>"local","global","none"
 
1339
 
 
1340
<DT><A NAME=k:color><STRONG>color</STRONG></A>
 
1341
<DD>Colors can be specified using one of four formats.
 
1342
         <TABLE><TR><TD>"#%2x%2x%2x"<TD>Red-Green-Blue (RGB)</TR>
 
1343
         <TR><TD>"#%2x%2x%2x%2x"<TD>Red-Green-Blue-Alpha (RGBA)</TR>
 
1344
         <TR><TD>H[,&#160;]+S[,&#160;]+V<TD>Hue-Saturation-Value (HSV) 0.0 <= H,S,V <= 1.0</TR>
 
1345
         <TR><TD>string<TD><A HREF=colors.html>color name</A></TR></TABLE>
 
1346
   The specification for the RGB and RGBA formats are the format strings used by
 
1347
   <TT>sscanf</TT> to scan the color value. Thus, these values have the form
 
1348
   "#RGB" or "#RGBA", where R, G, B, and A each consist of 2 hexidecimal
 
1349
   digits, and can be separated by whitespace. HSV colors have the form of 3
 
1350
   numbers between 0 and 1, separated by whitespace or commas.
 
1351
  <P>
 
1352
  String-valued color specifications are case-insensitive and interpreted 
 
1353
  in the context of the current color scheme, as specified by the 
 
1354
  <A HREF=#d:colorscheme>colorscheme</A> attribute. If this is undefined,
 
1355
  the X11 naming scheme will be used.
 
1356
  An initial <TT>"/"</TT> character can be used to override the use of
 
1357
  the <TT>colorscheme</TT> attribute. In particular, a single initial
 
1358
  <TT>"/"</TT> will cause the string to be evaluated using the default
 
1359
  X11 naming. If the color value has the form <TT>"/ssss/yyyy"</TT>, 
 
1360
  the name <TT>yyyy</TT> is interpreted using the schema <TT>ssss</TT>.
 
1361
  If the color scheme name is empty, i.e., the color has the 
 
1362
  form <TT>"//yyyy"</TT>, the <TT>colorscheme</TT> attribute is used.
 
1363
  Thus, the forms <TT>"yyyy"</TT> and <TT>"//yyyy"</TT> are
 
1364
  equivalent. 
 
1365
  <P>At present, Graphviz recognizes the default color scheme <TT>X11</TT>,
 
1366
  and the <A HREF="http://www.personal.psu.edu/faculty/c/a/cab38/ColorBrewer/ColorBrewer_intro.html">Brewer color schemes</A>. Please note that Brewer
 
1367
  color schemes are covered by this <A HREF=colors.html#brewer_license>license</A>.
 
1368
  <P>
 
1369
  Examples:<BR>
 
1370
    <TABLE border=1>
 
1371
      <TR><TH>Color<TH>RGB<TH>HSV<TH>String</TR>
 
1372
      <TR><TD align=center bgcolor=#ffffff>White<TD>"#ffffff"<TD>"0.000 0.000 1.000"<TD>"white"</TR>
 
1373
      <TR><TD align=center bgcolor=#000000><font color=white>Black</font><TD>"#000000"<TD>"0.000 0.000 0.000"<TD>"black"</TR>
 
1374
      <TR><TD align=center bgcolor=#ff0000>Red<TD>"#ff0000"<TD>"0.000 1.000 1.000"<TD>"red"</TR>
 
1375
      <TR><TD align=center bgcolor=#40e0d0>Turquoise<TD>"#40e0d0"<TD>"0.482 0.714 0.878"<TD>"turquoise"</TR>
 
1376
      <TR><TD align=center bgcolor=#a0522d>Sienna<TD>"#a0522d"<TD>"0.051 0.718 0.627"<TD>"sienna"</TR>
 
1377
    </TABLE>
 
1378
  <P>
 
1379
   Note that some output formats, e.g., <A HREF="output.html#a:mif">mif</A>, 
 
1380
   only support a limited number of specific colors.
 
1381
  <P>
 
1382
   The string value <TT>transparent</TT> can be used to indicate no color.
 
1383
   This is only available in the output formats
 
1384
   ps, svg, fig, vmrl, and the bitmap formats. It can be used whenever a
 
1385
   color is needed but is most useful with 
 
1386
   the <A HREF=#d:bgcolor>bgcolor</A> attribute.
 
1387
   Usually, the same effect can be achieved by setting 
 
1388
   <A HREF=#d:style>style</A> to <TT>invis</TT>.
 
1389
 
 
1390
<DT><A NAME=k:colorList><STRONG>colorList</STRONG></A>
 
1391
<DD>A colon-separated list of color values: <I>C</I>(:<I>C</I>)*
 
1392
   where each <I>C</I> is a <A HREF=#k:color>color</A> value.
 
1393
 
 
1394
<DT><A NAME=k:dirType><STRONG>dirType</STRONG></A>
 
1395
<DD>For an edge <CODE>T -> H;</CODE>
 
1396
    <TABLE>
 
1397
    <TR><TD>"forward"<TD><IMG SRC="forward.gif">
 
1398
        <TD>"back"<TD><IMG SRC="back.gif"></TR>
 
1399
    <TR><TD>"both"<TD><IMG SRC="both.gif">
 
1400
        <TD>"none"<TD><IMG SRC="nohead.gif"></TR>
 
1401
    </TABLE>
 
1402
  For undirected edges <CODE>T -- H;</CODE>, one of the nodes, usually
 
1403
  the righthand one, is treated as the head for the purpose of 
 
1404
  interpreting "forward" and "back".
 
1405
 
 
1406
<DT><A NAME=k:escString><STRONG>escString</STRONG></A>
 
1407
<DD>string allowing escape sequences which are replaced according
 
1408
  to the context.
 
1409
  For node attributes, the substring "\N" is replaced by the name of the node,
 
1410
  and the substring "\G" by the name of the graph.
 
1411
  For graph or cluster attributes, the substring "\G" is replaced by the 
 
1412
  name of the graph or cluster.
 
1413
  For edge attributes, the substring "\E" is replaced by the name of the edge,
 
1414
  the substring "\G" is replaced by the name of the graph or cluster,
 
1415
  and the substrings "\T" and "\H" by the names of 
 
1416
  the tail and head nodes, respectively. 
 
1417
  The name of an edge is the string formed from the name of the
 
1418
  tail node, the appropriate edge operator ("--" or "->") and the name of the
 
1419
  head node. 
 
1420
  <P>
 
1421
  In addition, if the associated attribute is 
 
1422
  <A HREF=#a:label>label</A>,
 
1423
  <A HREF=#a:headlabel>headlabel</A> or <A HREF=#a:taillabel>taillabel</A>, 
 
1424
  the escape sequences "\n", "\l" and "\r"
 
1425
  divide the label into lines, centered, left-justified, and right-justified,
 
1426
  respectively.
 
1427
 
 
1428
<DT><A NAME=k:layerList><STRONG>layerList</STRONG></A>
 
1429
<DD>list of strings separated by characters from the 
 
1430
  <A HREF=#a:layersep>layersep</A> attribute (by default, colons, 
 
1431
  tabs or spaces), defining <A HREF=#a:layer>layer</A>
 
1432
  names and implicitly numbered 1,2,...
 
1433
 
 
1434
<DT><A NAME=k:layerRange><STRONG>layerRange</STRONG></A>
 
1435
<DD>layerId or layerId<B>s</B>layerId,<BR> where layerId = "all",
 
1436
  a decimal integer or a <A HREF=#a:layer>layer</A> name.
 
1437
  (An integer i corresponds to layer i.)
 
1438
  The string <B>s</B> consists of 1 or more separator characters specified
 
1439
  by the <A HREF=#a:layersep>layersep</A> attribute.
 
1440
 
 
1441
<DT><A NAME=k:lblString><STRONG>lblString</STRONG></A>
 
1442
<DD>an <A HREF=#k:escString>escString</A> 
 
1443
  or an <A HREF=shapes.html#html>HTML label</A>.
 
1444
 
 
1445
<DT><A NAME=k:outputMode><STRONG>outputMode</STRONG></A>
 
1446
<DD>"breadthfirst","nodesfirst","edgesfirst"
 
1447
  These specify the order in which nodes and edges are drawn in concrete
 
1448
  output. The default "breadthfirst" is the simplest, but when the graph
 
1449
  layout does not avoid edge-node overlap, this mode will sometimes have
 
1450
  edges drawn over nodes and sometimes on top of nodes. If the mode
 
1451
  "nodesfirst" is chosen, all nodes are drawn first, followed by the
 
1452
  edges. This guarantees an edge-node overlap will not be mistaken for
 
1453
  an edge ending at a node. On the other hand, usually for aesthetic
 
1454
  reasons, it may be desirable that all edges appear beneath nodes, even
 
1455
  if the resulting drawing is ambiguous. This can be achieved by choosing
 
1456
  "edgesfirst".
 
1457
 
 
1458
<DT><A NAME=k:packMode><STRONG>packMode</STRONG></A>
 
1459
<DD>"node","clust","graph"
 
1460
  These specify the granularity of packing connected components when
 
1461
  the <A HREF=#d:pack>pack</A> attribute is true. A value of "node" causes
 
1462
  packing at the node and edge label, with no overlapping of these objects.
 
1463
  This produces a layout with the least area, but it also allows interleaving,
 
1464
  where a node of one component may lie between two nodes in another
 
1465
  component. A value of "graph" does a packing using the bounding box of the
 
1466
  component. Thus, there will be a rectangular region around a component
 
1467
  free of elements of any other component.
 
1468
  A value of "clust" guarantees that top-level clusters are kept intact.
 
1469
  What effect a value has also depends on the layout algorithm. For
 
1470
  example, neato does not support clusters, so a value of "clust" will
 
1471
  have the same effect as the default "node" value.
 
1472
 
 
1473
<DT><A NAME=k:pagedir><STRONG>pagedir</STRONG></A>
 
1474
<DD>"BL", "BR", "TL", "TR", "RB", "RT", "LB", "LT".
 
1475
  These specify the 8 row or column major orders for traversing a 
 
1476
  rectangular array, the first character corresponding to the major
 
1477
  order and the second to the minor order. Thus, for "BL", the
 
1478
  major order is from bottom to top, and the minor order is from left
 
1479
  to right. This means the bottom row is traversed first, from left
 
1480
  to right, then the next row up, from left to right, and so on,
 
1481
  until the topmost row is traversed.
 
1482
 
 
1483
<DT><A NAME=k:point><STRONG>point</STRONG></A>
 
1484
<DD>"%f,%f"('!') representing the point (x,y). The 
 
1485
  optional '!' indicates the 
 
1486
  node position should not change (input-only).
 
1487
  <P>
 
1488
  If <A HREF=#d:dim>dim</A> is 3 or more, <B>point</B> may also have
 
1489
  the format "%f,%f,%f"('!') to represent the point (x,y,z).
 
1490
 
 
1491
<DT><A NAME=k:pointf><STRONG>pointf</STRONG></A>
 
1492
<DD>"%lf,%lf" representing the point (x,y).
 
1493
 
 
1494
<DT><A NAME=k:pointfList><STRONG>pointfList</STRONG></A>
 
1495
<DD>list of pointf, separated by spaces.
 
1496
 
 
1497
<DT><A NAME=k:portPos><STRONG>portPos</STRONG></A>
 
1498
<DD>modifier indicating where on a node an edge should be aimed.
 
1499
  It has the form <TT><I>portname</I>[:<I>compass_point</I>]</TT>
 
1500
  or <TT><I>compass_point</I></TT>.
 
1501
  If the first form is used, the corresponding node must either have
 
1502
  <A HREF=shapes.html#record>record</A> shape with one of its fields 
 
1503
  having the given <I>portname</I>,
 
1504
  or have an <A HREF=shapes.html#html>HTML-like label</A>, one of 
 
1505
  whose components has a <TT>PORT</TT> attribute set to <I>portname</I>.
 
1506
  In this case, the edge is aimed for the center of the corresponding
 
1507
  field.
 
1508
  <P>
 
1509
  If a compass point is used, it must have the form 
 
1510
  <TT>"n","ne","e","se","s","sw","w","nw"</TT>. This modifies the edge
 
1511
  placement to aim for the corresponding compass point on the port or,
 
1512
  in the second form where no <I>portname</I> is supplied, on the node
 
1513
  itself.
 
1514
  <P>
 
1515
  This attribute can be attached to an edge using the 
 
1516
  <A HREF=#k:headport>headport</A> and
 
1517
  <A HREF=#k:tailport>tailport</A> attributes, or as part of the
 
1518
  edge description as in
 
1519
  <CENTER>
 
1520
  <TT>node1:port1 -> node2:port5:nw;</TT>
 
1521
  </CENTER>
 
1522
 
 
1523
<DT><A NAME=k:rankType><STRONG>rankType</STRONG></A>
 
1524
<DD>"same", "min", "source", "max", "sink"
 
1525
 
 
1526
<DT><A NAME=k:rankdir><STRONG>rankdir</STRONG></A>
 
1527
<DD>"TB", "LR", "BT", "RL", corresponding to directed graphs drawn
 
1528
  from top to bottom, from left to right, from bottom to top, and from
 
1529
  right to left, respectively.
 
1530
 
 
1531
<DT><A NAME=k:rect><STRONG>rect</STRONG></A>
 
1532
<DD>"%d,%d,%d,%d"  The rect llx,lly,urx,ury gives the coordinates, in
 
1533
   points, of the lower-left corner (llx,lly) and the upper-right corner
 
1534
   (urx,ury).
 
1535
 
 
1536
<DT><A NAME=k:shape><STRONG>shape</STRONG></A>
 
1537
<DD>A string specifying the <A HREF=shapes.html>shape</A> of a node. 
 
1538
  There are three
 
1539
  main types of shapes : 
 
1540
  <A HREF=shapes.html#polygon>polygon-based</A>, 
 
1541
  <A HREF=shapes.html#record>record-based</A> and
 
1542
  <A HREF=shapes.html#epsf>user-defined</A>.
 
1543
 
 
1544
<DT><A NAME=k:splineType><STRONG>splineType</STRONG></A>
 
1545
<DD>spline ( ';' spline )*<BR>
 
1546
  <TABLE>
 
1547
   <TR><TD ALIGN=right>where spline<TD>=<TD>(endp)? (startp)? point (triple)+</TR>
 
1548
   <TR><TD ALIGN=right>and triple<TD>=<TD>point point point</TR>
 
1549
   <TR><TD ALIGN=right>and endp<TD>=<TD>"e,%d,%d"</TR>
 
1550
   <TR><TD ALIGN=right>and startp<TD>=<TD>"s,%d,%d"</TR>
 
1551
  </TABLE>
 
1552
   If a spline has points p<SUB>1</SUB> p<SUB>2</SUB> p<SUB>3</SUB> ... p<SUB>n</SUB>, (n = 1 (mod 3)), the points
 
1553
   correspond to the control points of a B-spline from p<SUB>1</SUB> to p<SUB>n</SUB>. If startp
 
1554
   is given, it touches one node of the edge, and the arrowhead
 
1555
   goes from p<SUB>1</SUB> to startp. If startp is not given, p<SUB>1</SUB> touches a node.
 
1556
   Similarly for p<SUB>n</SUB>  and endp.
 
1557
 
 
1558
<DT><A NAME=k:startType><STRONG>startType</STRONG></A>
 
1559
<DD>has the syntax <TT>[<I>style</I>][<I>seed</I>]</TT>. 
 
1560
  <P>
 
1561
  If <I>style</I> is present, it must be one of the strings <TT>"regular"</TT>,
 
1562
  <TT>"self"</TT>, or <TT>"random"</TT>. In the first case, the nodes are 
 
1563
  placed regularly about a circle. In the second case, 
 
1564
  an abbreviated version of neato is run to obtain the initial layout.
 
1565
  In the last case, the nodes are placed randomly in a unit square. This
 
1566
  is the default.
 
1567
  <P>
 
1568
  If <I>seed</I> is present, it specifies a seed for the random number
 
1569
  generator. If <I>seed</I> is a positive number, this is used as the
 
1570
  seed. If it is anything else, 
 
1571
  the current time, and possibly the process id, is used to pick a seed,
 
1572
  thereby making the choice more random. In this case, the seed value
 
1573
  is stored in the graph.
 
1574
  <P>
 
1575
  Note that input positions, specified by a node's 
 
1576
  <A HREF=#d:pos>pos</A>
 
1577
  attribute, are only used when the style is <TT>"random"</TT>.
 
1578
 
 
1579
<DT><A NAME=k:style><STRONG>style</STRONG></A>
 
1580
<DD>styleItem ( ',' styleItem )*<BR>
 
1581
  <TABLE>
 
1582
  <TR><TD ALIGN=right>where styleItem<TD>=<TD>name or name'('args')'</TR>
 
1583
  <TR><TD ALIGN=right>and args<TD>=<TD>name ( ',' name )*</TR>
 
1584
  <TR><TD ALIGN=right>and name<TD>=<TD>[^)(, &nbsp;][^)(,]*</TR>
 
1585
  </TABLE>
 
1586
  Note that whitespace characters are ignored, except for names which
 
1587
  can contain them. A
 
1588
  name cannot contain any comma, or left or right parenthesis, and it cannot
 
1589
  begin with a whitespace character. 
 
1590
  <P>
 
1591
  At present, the recognized style names are 
 
1592
  "dashed", "dotted", "solid", "invis" and "bold" for nodes and edges,
 
1593
  and "filled", "diagonals" and "rounded" for nodes only.
 
1594
  The styles "filled" and "rounded" are recognized for clusters.
 
1595
  Additional styles are available in
 
1596
  device-dependent form. Style lists are passed to device drivers, which
 
1597
  can use this to generate appropriate output.
 
1598
  <P>
 
1599
  The <A NAME=d:setlinewidth><TT>setlinewidth</TT></A> style value can be
 
1600
  used for more control over the width of edges and node borders than is
 
1601
  allowed by <TT>bold</TT>. This style value takes an argument, specifying the
 
1602
  width of the line in points. For example, <TT>style="bold"</TT> is
 
1603
  equivalent to <TT>style="setlinewidth(2)"</TT>. 
 
1604
 
 
1605
<DT><A NAME=k:viewPort><STRONG>viewPort</STRONG></A>
 
1606
<DD>"%lf,%lf,%lf,%lf,%lf" The viewPort "W,H,Z,x,y" 
 
1607
  specifies a viewport for the final image. The pair (W,H) gives the
 
1608
  dimensions (width and height) of the viewport image, in pixels.
 
1609
  Z is the zoom factor, i.e., 1 point corresponds to Z pixels.
 
1610
  For example, use Z=1.34 (= 96/72) with a screen resolution of 96dpi to 
 
1611
  convert 1 inch (72 points) in the graph to 1 inch on the screen.
 
1612
  The pair (x,y) give the position in the graph, in points, of the center 
 
1613
  of the viewport. To focus on a particular node, (x,y) can be set to the 
 
1614
  <A HREF=#a:pos>pos</A> attribute "x,y" of the node. 
 
1615
  To center on the whole graph, use (bbx/2,bby/2), where "bbx,bby" is the
 
1616
  value of the bounding box attribute <A HREF=#a:bb>bb</A>.
 
1617
 
 
1618
</DL>
 
1619
</BODY>
 
1620
</HTML>