]> granicus.if.org Git - graphviz/commitdiff
- fix Makefile.old to not assume that . is in the PATH
authorellson <devnull@localhost>
Sun, 21 Sep 2008 19:09:46 +0000 (19:09 +0000)
committerellson <devnull@localhost>
Sun, 21 Sep 2008 19:09:46 +0000 (19:09 +0000)
- run make -f Makefile.old install

73 files changed:
doc/info/a_box.gif
doc/info/a_crow.gif
doc/info/a_diamond.gif
doc/info/a_dot.gif
doc/info/a_ediamond.gif
doc/info/a_empty.gif
doc/info/a_halfopen.gif
doc/info/a_inv.gif
doc/info/a_invdot.gif
doc/info/a_invempty.gif
doc/info/a_invodot.gif
doc/info/a_lteeoldiamond.gif
doc/info/a_none.gif
doc/info/a_normal.gif
doc/info/a_obox.gif
doc/info/a_odiamond.gif
doc/info/a_odot.gif
doc/info/a_open.gif
doc/info/a_tee.gif
doc/info/aa_box.gif
doc/info/aa_crow.gif
doc/info/aa_diamond.gif
doc/info/aa_dot.gif
doc/info/aa_inv.gif
doc/info/aa_lbox.gif
doc/info/aa_lcrow.gif
doc/info/aa_ldiamond.gif
doc/info/aa_linv.gif
doc/info/aa_lnormal.gif
doc/info/aa_ltee.gif
doc/info/aa_lvee.gif
doc/info/aa_none.gif
doc/info/aa_normal.gif
doc/info/aa_obox.gif
doc/info/aa_odiamond.gif
doc/info/aa_odot.gif
doc/info/aa_oinv.gif
doc/info/aa_olbox.gif
doc/info/aa_oldiamond.gif
doc/info/aa_olinv.gif
doc/info/aa_olnormal.gif
doc/info/aa_onormal.gif
doc/info/aa_orbox.gif
doc/info/aa_ordiamond.gif
doc/info/aa_orinv.gif
doc/info/aa_ornormal.gif
doc/info/aa_rbox.gif
doc/info/aa_rcrow.gif
doc/info/aa_rdiamond.gif
doc/info/aa_rinv.gif
doc/info/aa_rnormal.gif
doc/info/aa_rtee.gif
doc/info/aa_rvee.gif
doc/info/aa_tee.gif
doc/info/aa_vee.gif
doc/info/arrows.html
doc/info/attrs.html
doc/info/colorlist.gif
doc/info/constraint.gif
doc/info/fill.gif
doc/info/html1.gif
doc/info/html2.gif
doc/info/html3.gif
doc/info/html4.gif
doc/info/mrecord.gif
doc/info/none.gif
doc/info/output.html
doc/info/plaintext.gif
doc/info/record.gif
doc/info/record2.gif
doc/info/round.gif
doc/info/sdlshapes.jpg
doc/infosrc/Makefile.old

index 68d283e7a1dc641198031761cec540b3da07304f..bb2d740b9d130d338fc71c0378a715b9aa18bbd3 100644 (file)
Binary files a/doc/info/a_box.gif and b/doc/info/a_box.gif differ
index f7a00e8a5c3e839a76edd2466b560f89f2e3e25e..e2fb653d25a19b4e373aa32c9651a39b02e40ddc 100644 (file)
Binary files a/doc/info/a_crow.gif and b/doc/info/a_crow.gif differ
index 33e91b7232add9b7527f7ce1cecba2552e293982..4c019e2f9f428fa6e563d3926c27880bfe5dd72a 100644 (file)
Binary files a/doc/info/a_diamond.gif and b/doc/info/a_diamond.gif differ
index 4763b756b6e4e2c2aac1294ae8c72e03fbfb0d8b..fd115c992023bd117756d7e65ccad80544167237 100644 (file)
Binary files a/doc/info/a_dot.gif and b/doc/info/a_dot.gif differ
index a8255e7a38c99f2009ebafe08b3404a1a6e6cdf5..31de67dd1419808322901a9cd159b4c8e0d3c59d 100644 (file)
Binary files a/doc/info/a_ediamond.gif and b/doc/info/a_ediamond.gif differ
index 0b1bb60fceaecde50cb63aa6eece0515d404d999..208f8f8ba8280c1b6b8e7776cfa987d1a0d94daa 100644 (file)
Binary files a/doc/info/a_empty.gif and b/doc/info/a_empty.gif differ
index 3c7721c00d5d134300758058dee556b3619ee050..0d18601bf8592bb29c71e7836b00a2404f3bf8fd 100644 (file)
Binary files a/doc/info/a_halfopen.gif and b/doc/info/a_halfopen.gif differ
index 70ee182bcacf5b792d0f210d71316bf888d1be39..c6554e8c0a99f772b992f87eb2c930e690872aa3 100644 (file)
Binary files a/doc/info/a_inv.gif and b/doc/info/a_inv.gif differ
index 89410b71c2ddcca9284d1afafdac04820686aec0..d043afd71b1badd09993c8b8f5507f1dfd3908ce 100644 (file)
Binary files a/doc/info/a_invdot.gif and b/doc/info/a_invdot.gif differ
index aa08479d3b42012db9a2c0c1b42317859e5d0627..ea41e1d5e5bc83e1510736344e498379713b9cca 100644 (file)
Binary files a/doc/info/a_invempty.gif and b/doc/info/a_invempty.gif differ
index a70563428300e3e4737b3265495035c7a995ca2e..5645142122321259b3c37f875db2c9874ee558ac 100644 (file)
Binary files a/doc/info/a_invodot.gif and b/doc/info/a_invodot.gif differ
index 9e1af8bd97a57ef8a678323f9ee3ed7b37cfff49..04371ace3f9e5f4a9244a298431c5a254f68d644 100644 (file)
Binary files a/doc/info/a_lteeoldiamond.gif and b/doc/info/a_lteeoldiamond.gif differ
index 9cc0cd49c612cc14ff06815cdd7b4e27b835f5bc..dcdf4c6b0865c804e02b68e043b3ce4b42e1faa3 100644 (file)
Binary files a/doc/info/a_none.gif and b/doc/info/a_none.gif differ
index 3aa6d9bb1cc9cf85b9dae8f83414ea2af5ea49cb..d7fff550fc042785ebd14117052801b1f912441b 100644 (file)
Binary files a/doc/info/a_normal.gif and b/doc/info/a_normal.gif differ
index b4c9ae7aade420c6776bf477d6d5d2eaa39ec4ef..af2c1ca204cc566a38c0665c1edeac0ddbcf68a7 100644 (file)
Binary files a/doc/info/a_obox.gif and b/doc/info/a_obox.gif differ
index a8255e7a38c99f2009ebafe08b3404a1a6e6cdf5..31de67dd1419808322901a9cd159b4c8e0d3c59d 100644 (file)
Binary files a/doc/info/a_odiamond.gif and b/doc/info/a_odiamond.gif differ
index de354834e62502ce4cc0f5390ea9531e6799304e..6cbcca1f18e52dc5a03a6c7eb3d8456ce48858ce 100644 (file)
Binary files a/doc/info/a_odot.gif and b/doc/info/a_odot.gif differ
index 9b2281b827dae3b1e450cb517bb734f55c58bb61..d4683893a746327625183cfd5bbf8717558561a4 100644 (file)
Binary files a/doc/info/a_open.gif and b/doc/info/a_open.gif differ
index 0d6c57adcc27519848c8282c3f04ed517b7b3382..aabcb570cf2ca44944481db8e3a5407b99821bdd 100644 (file)
Binary files a/doc/info/a_tee.gif and b/doc/info/a_tee.gif differ
index 54cc6f5bdda80d65dafa12254dc675a96da1b4bf..fe73a3983df376eb594a4072907152efd2239462 100644 (file)
Binary files a/doc/info/aa_box.gif and b/doc/info/aa_box.gif differ
index 4feca23c76083a867d435483ba6534ce0e7d391b..43e34e497183c80fc34efad61408469f8d4358e4 100644 (file)
Binary files a/doc/info/aa_crow.gif and b/doc/info/aa_crow.gif differ
index 7711d36fb24011a04fc3ac746a16e95031421113..3e352089ec930c66b235672869c862ce0d84110a 100644 (file)
Binary files a/doc/info/aa_diamond.gif and b/doc/info/aa_diamond.gif differ
index 9efce042092d4daeae630ad7d054184ac7ce0428..c4d3179f116f5b10d22abe1477fe324dfe3fb70c 100644 (file)
Binary files a/doc/info/aa_dot.gif and b/doc/info/aa_dot.gif differ
index 35f28f109915d5377191b6b27f4a5fbffff4aec2..e33a032daf2ca656459a2f35149324f1024ed84b 100644 (file)
Binary files a/doc/info/aa_inv.gif and b/doc/info/aa_inv.gif differ
index 7454266f73db18e0d4a42d8b108ea8bec65eb77b..fe6d4a678b00c26066fa7bd894ed4cff8d26556b 100644 (file)
Binary files a/doc/info/aa_lbox.gif and b/doc/info/aa_lbox.gif differ
index f7bde256ca1a153afb89bd4f56080e59195d71f2..d61a6278ac13602bf59202523ed50783f7c88368 100644 (file)
Binary files a/doc/info/aa_lcrow.gif and b/doc/info/aa_lcrow.gif differ
index fce3682b8e8efd208986d5dd6accd9d6d9811a6a..451efad1ad42c5fea4695148ae0b8daa790ac0f5 100644 (file)
Binary files a/doc/info/aa_ldiamond.gif and b/doc/info/aa_ldiamond.gif differ
index fb8a99e9a143e75a81773f9e59482128cc847f3a..492d963428f018322b2c5887ca2d1a8eb0dffb91 100644 (file)
Binary files a/doc/info/aa_linv.gif and b/doc/info/aa_linv.gif differ
index 4002cfe58b96973d78d857dc789267ae7fa660f8..424dcf3b798cf45f9bcbb84e83da9b95335860c1 100644 (file)
Binary files a/doc/info/aa_lnormal.gif and b/doc/info/aa_lnormal.gif differ
index bd8df24eb3ee9f9a17f7eda644816547c2e4e27b..dc64dc597d2e3b909bcf2c1b4ea3bded498ebb36 100644 (file)
Binary files a/doc/info/aa_ltee.gif and b/doc/info/aa_ltee.gif differ
index 9fc3eec3f07daa66a2554ad7d9c21f57e5fa6222..5615bd1d8df4da91d2b4760b2c72c7f0ee9ef9e7 100644 (file)
Binary files a/doc/info/aa_lvee.gif and b/doc/info/aa_lvee.gif differ
index 116bfc60619c526667de6bdaaaff0fb529a6c166..76385bc6abf7da8adab4104d352df923cb134d12 100644 (file)
Binary files a/doc/info/aa_none.gif and b/doc/info/aa_none.gif differ
index eca361eb5ddcb4ac9a4c35445fc90d4b69a1f617..f3f3145a61fa5ebe404091abc8b4539924f78c1a 100644 (file)
Binary files a/doc/info/aa_normal.gif and b/doc/info/aa_normal.gif differ
index 1c03a7fe418a8e6c49d174b84a53a7fbe6d1afcb..863f4dd05c6fe7446c222a3d0cad4f847e776874 100644 (file)
Binary files a/doc/info/aa_obox.gif and b/doc/info/aa_obox.gif differ
index 0c7c0b7366c6986fd68aacf0e6368cbf0827239c..64855ba54ec6a741e1e56e1804a3cde2b048598b 100644 (file)
Binary files a/doc/info/aa_odiamond.gif and b/doc/info/aa_odiamond.gif differ
index e2511ea0015ef456ff890f0a79627d02630bc08c..71ad4d7c1671eeafb886d1b284879d2d8888ca72 100644 (file)
Binary files a/doc/info/aa_odot.gif and b/doc/info/aa_odot.gif differ
index 5b13cb4a862a8e18d65bc0ec0d19ceb02ed337c8..e21df0326b031f82fe9fc580935fdda0497a57b2 100644 (file)
Binary files a/doc/info/aa_oinv.gif and b/doc/info/aa_oinv.gif differ
index c64c83826db8c2b2f0b9d66efebe33ccda6bc33f..6dd3c3ec9a5172bf23cdfbab37572badea521125 100644 (file)
Binary files a/doc/info/aa_olbox.gif and b/doc/info/aa_olbox.gif differ
index f244993bb813454d170389f1f5f09187d263ce1c..ff87b4c90f9e540b0a94a77f4ebec8c22dc2bbe9 100644 (file)
Binary files a/doc/info/aa_oldiamond.gif and b/doc/info/aa_oldiamond.gif differ
index 1070e735cef837e031c55a0240335a99ff56d470..f3294d1711f44c5688a02268e6fe9b141a9c5306 100644 (file)
Binary files a/doc/info/aa_olinv.gif and b/doc/info/aa_olinv.gif differ
index 14581e757a299fab6afc1f3756c742720d8b8030..cc0e4c07bd3d8980eee0ac67b578a36b0def48bb 100644 (file)
Binary files a/doc/info/aa_olnormal.gif and b/doc/info/aa_olnormal.gif differ
index ddd6228c5c0805312c5531d9bb922b59b63577f9..f9e379356b9a2a7cf1b2b17784c81a286b5f47a3 100644 (file)
Binary files a/doc/info/aa_onormal.gif and b/doc/info/aa_onormal.gif differ
index 684bcd4fd1e960d823ef9cb39292b557b8110ab3..afb172b93a1953c2d97274d1bf9415701522496a 100644 (file)
Binary files a/doc/info/aa_orbox.gif and b/doc/info/aa_orbox.gif differ
index 0987f9f407b83189aeae2e323938f576ea9d258d..e366a76d2e954c0cd9b64f82cd29b2a301a1ee0e 100644 (file)
Binary files a/doc/info/aa_ordiamond.gif and b/doc/info/aa_ordiamond.gif differ
index 1b029f2d5282dc3759fb0584c89c78a5e9212cdb..28988b89cfc197c6d3558d2b631f7bcd72ef37c8 100644 (file)
Binary files a/doc/info/aa_orinv.gif and b/doc/info/aa_orinv.gif differ
index 3f6e5be14d4b60db954639d32183d0038e4e3b87..480d0207fa3459f52d731b5a9baacff7e839c4ba 100644 (file)
Binary files a/doc/info/aa_ornormal.gif and b/doc/info/aa_ornormal.gif differ
index d2cd9b662526bcd1c604f047c3de0d1710d7eeed..e7e6fee0cb82dde064f4e6072981790589a3b05a 100644 (file)
Binary files a/doc/info/aa_rbox.gif and b/doc/info/aa_rbox.gif differ
index 2497a8a2bdca567a67fcd0ab19aea7880c7ddb63..e6ac01a26028bdc4b5e212e8bc805af9ba7b0ce5 100644 (file)
Binary files a/doc/info/aa_rcrow.gif and b/doc/info/aa_rcrow.gif differ
index 53eba5467ea754c94a6335b0137695b26e4b34cb..4c1b5896878ab76ad151c9132cb43d4588c5ac85 100644 (file)
Binary files a/doc/info/aa_rdiamond.gif and b/doc/info/aa_rdiamond.gif differ
index 3e4a1783a68363837f290bd027be4b09488fc638..a8ef977eb48dd9c2b4ff373787cdf98e1fb93351 100644 (file)
Binary files a/doc/info/aa_rinv.gif and b/doc/info/aa_rinv.gif differ
index d417891cc48d70de8de5580a7bd77225a6edb016..36af872483bcd606cfef101d330ed1b170d91e60 100644 (file)
Binary files a/doc/info/aa_rnormal.gif and b/doc/info/aa_rnormal.gif differ
index 04d62e723c05f906050cd11ffb4192bb7af58bba..c3463571fe64294e66ae80762d0b9e2809ddcf50 100644 (file)
Binary files a/doc/info/aa_rtee.gif and b/doc/info/aa_rtee.gif differ
index 955b7d987675d3f35c027748e068adc16e1bd9d0..e3b0d44f9af215e8492726de3655ed74e261df37 100644 (file)
Binary files a/doc/info/aa_rvee.gif and b/doc/info/aa_rvee.gif differ
index 9d7471c6eeb544caebe1b45939a7eceb2b04d6e3..75b23fb30baba31670ed5f9b7c91cca197fb383d 100644 (file)
Binary files a/doc/info/aa_tee.gif and b/doc/info/aa_tee.gif differ
index 1f00fa8ae70268ed61bcc8bd99696c23aae84d2c..59dd884f1c597752dcbaca8d795646b6966ed1fc 100644 (file)
Binary files a/doc/info/aa_vee.gif and b/doc/info/aa_vee.gif differ
index 9753970803579d26488b2c5f24472df5dbf22fd8..004d3d3b6f20dd54d85995ba78c76f14a7ad9370 100644 (file)
@@ -154,16 +154,15 @@ The following table indicates which modifiers are allowed with which shapes.
 </TABLE>
 </CENTER>
 <P>
-This yields 36 different arrow shapes. The optional second shape
+This yields 36 different arrow shapes. The optional second, third, fourth shapes
 can independently be any of the 36, but since <TT>nonenone</TT> 
-is redundant, there are 36 * 35 * 35 * 35 = 1,543,500 different combinations.
+is redundant, there are 35**4 + 35**3 + 35**2 + 35 + 1 = 1,544,761 different combinations.
 <P>
 The following display contains the 36 combinations possible with a single
 arrow shape. The node attached to the arrow is not drawn but would appear
 on the right side of the edge.
 <P>
-<CENTER>
-<TABLE>
+<CENTER>\n<TABLE>
   <TR ALIGN=CENTER>
     <TD><IMG SRC="aa_box.gif">
     <TD><IMG SRC="aa_lbox.gif">
@@ -171,8 +170,7 @@ on the right side of the edge.
     <TD><IMG SRC="aa_obox.gif">
     <TD><IMG SRC="aa_olbox.gif">
     <TD><IMG SRC="aa_orbox.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>box
     <TD>lbox
     <TD>rbox
@@ -184,8 +182,7 @@ on the right side of the edge.
     <TD><IMG SRC="aa_crow.gif">
     <TD><IMG SRC="aa_lcrow.gif">
     <TD><IMG SRC="aa_rcrow.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>crow
     <TD>lcrow
     <TD>rcrow
@@ -197,8 +194,7 @@ on the right side of the edge.
     <TD><IMG SRC="aa_odiamond.gif">
     <TD><IMG SRC="aa_oldiamond.gif">
     <TD><IMG SRC="aa_ordiamond.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>diamond
     <TD>ldiamond
     <TD>rdiamond
@@ -209,8 +205,7 @@ on the right side of the edge.
   <TR ALIGN=CENTER>
     <TD><IMG SRC="aa_dot.gif">
     <TD><IMG SRC="aa_odot.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>dot
     <TD>odot
   </TR>
@@ -221,8 +216,7 @@ on the right side of the edge.
     <TD><IMG SRC="aa_oinv.gif">
     <TD><IMG SRC="aa_olinv.gif">
     <TD><IMG SRC="aa_orinv.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>inv
     <TD>linv
     <TD>rinv
@@ -232,8 +226,7 @@ on the right side of the edge.
   </TR>
   <TR ALIGN=CENTER>
     <TD><IMG SRC="aa_none.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>none
   </TR>
   <TR ALIGN=CENTER>
@@ -243,8 +236,7 @@ on the right side of the edge.
     <TD><IMG SRC="aa_onormal.gif">
     <TD><IMG SRC="aa_olnormal.gif">
     <TD><IMG SRC="aa_ornormal.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>normal
     <TD>lnormal
     <TD>rnormal
@@ -256,8 +248,7 @@ on the right side of the edge.
     <TD><IMG SRC="aa_tee.gif">
     <TD><IMG SRC="aa_ltee.gif">
     <TD><IMG SRC="aa_rtee.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>tee
     <TD>ltee
     <TD>rtee
@@ -266,13 +257,10 @@ on the right side of the edge.
     <TD><IMG SRC="aa_vee.gif">
     <TD><IMG SRC="aa_lvee.gif">
     <TD><IMG SRC="aa_rvee.gif">
-  </TR>
-  <TR ALIGN=CENTER>
+  </TR>\n  <TR ALIGN=CENTER>
     <TD>vee
     <TD>lvee
     <TD>rvee
   </TR>
-</TABLE>
-</CENTER>
-</BODY>
-</HTML>
+</TABLE>\n</CENTER>
+</BODY>\n</HTML>
index e8b931223cd5028c3f655d7a1ad7494f7e377550..4be5d3003c1d00978bc90ab39d0a3cce872be324 100644 (file)
@@ -74,1907 +74,3 @@ represent edges, nodes, the root graph, subgraphs
 and cluster subgraphs, respectively.
 This field indicates which graph component uses the attribute.
 <HR ALIGN=CENTER WIDTH="70%" SIZE=3>
-<TABLE ALIGN=CENTER>
-<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>
- <TR><TD><A NAME=a:Damping HREF=#d:Damping>Damping</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.99</TD><TD>0.0</TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:K HREF=#d:K>K</A>
-</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER">0.3</TD><TD>0</TD><TD>sfdp, fdp only</TD> </TR>
- <TR><TD><A NAME=a:URL HREF=#d:URL>URL</A>
-</TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
- <TR><TD><A NAME=a:arrowhead HREF=#d:arrowhead>arrowhead</A>
-</TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
-</TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:arrowsize HREF=#d:arrowsize>arrowsize</A>
-</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:arrowtail HREF=#d:arrowtail>arrowtail</A>
-</TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
-</TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:bb HREF=#d:bb>bb</A>
-</TD><TD>G</TD><TD><A HREF=#k:rect>rect</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
- <TR><TD><A NAME=a:bgcolor HREF=#d:bgcolor>bgcolor</A>
-</TD><TD>GC</TD><TD><A HREF=#k:color>color</A>
-</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:center HREF=#d:center>center</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:charset HREF=#d:charset>charset</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"UTF-8"</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:clusterrank HREF=#d:clusterrank>clusterrank</A>
-</TD><TD>G</TD><TD><A HREF=#k:clusterMode>clusterMode</A>
-</TD><TD ALIGN="CENTER">local</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:color HREF=#d:color>color</A>
-</TD><TD>ENC</TD><TD><A HREF=#k:color>color</A>
-<BR><A HREF=#k:colorList>colorList</A>
-</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:colorscheme HREF=#d:colorscheme>colorscheme</A>
-</TD><TD>ENCG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:comment HREF=#d:comment>comment</A>
-</TD><TD>ENG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:compound HREF=#d:compound>compound</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:concentrate HREF=#d:concentrate>concentrate</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:constraint HREF=#d:constraint>constraint</A>
-</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:decorate HREF=#d:decorate>decorate</A>
-</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:defaultdist HREF=#d:defaultdist>defaultdist</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1+(avg. len)*sqrt(|V|)</TD><TD>epsilon</TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:dim HREF=#d:dim>dim</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>sfdp, fdp, neato only</TD> </TR>
- <TR><TD><A NAME=a:dimen HREF=#d:dimen>dimen</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>sfdp, fdp, neato only</TD> </TR>
- <TR><TD><A NAME=a:dir HREF=#d:dir>dir</A>
-</TD><TD>E</TD><TD><A HREF=#k:dirType>dirType</A>
-</TD><TD ALIGN="CENTER">forward(directed)<BR>none(undirected)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:diredgeconstraints HREF=#d:diredgeconstraints>diredgeconstraints</A>
-</TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:distortion HREF=#d:distortion>distortion</A>
-</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:dpi HREF=#d:dpi>dpi</A>
-</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>
- <TR><TD><A NAME=a:edgeURL HREF=#d:edgeURL>edgeURL</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:edgehref HREF=#d:edgehref>edgehref</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:edgetarget HREF=#d:edgetarget>edgetarget</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:edgetooltip HREF=#d:edgetooltip>edgetooltip</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
- <TR><TD><A NAME=a:epsilon HREF=#d:epsilon>epsilon</A>
-</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>
- <TR><TD><A NAME=a:esep HREF=#d:esep>esep</A>
-</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
-</TD><TD ALIGN="CENTER">+3</TD><TD></TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:fillcolor HREF=#d:fillcolor>fillcolor</A>
-</TD><TD>NC</TD><TD><A HREF=#k:color>color</A>
-</TD><TD ALIGN="CENTER">lightgrey(nodes)<BR>black(clusters)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:fixedsize HREF=#d:fixedsize>fixedsize</A>
-</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:fontcolor HREF=#d:fontcolor>fontcolor</A>
-</TD><TD>ENGC</TD><TD><A HREF=#k:color>color</A>
-</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:fontname HREF=#d:fontname>fontname</A>
-</TD><TD>ENGC</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:fontnames HREF=#d:fontnames>fontnames</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
- <TR><TD><A NAME=a:fontpath HREF=#d:fontpath>fontpath</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">system-dependent</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:fontsize HREF=#d:fontsize>fontsize</A>
-</TD><TD>ENGC</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:group HREF=#d:group>group</A>
-</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:headURL HREF=#d:headURL>headURL</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:headclip HREF=#d:headclip>headclip</A>
-</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:headhref HREF=#d:headhref>headhref</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:headlabel HREF=#d:headlabel>headlabel</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:headport HREF=#d:headport>headport</A>
-</TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
-</TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:headtarget HREF=#d:headtarget>headtarget</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:headtooltip HREF=#d:headtooltip>headtooltip</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
- <TR><TD><A NAME=a:height HREF=#d:height>height</A>
-</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.5</TD><TD>0.02</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:href HREF=#d:href>href</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
- <TR><TD><A NAME=a:image HREF=#d:image>image</A>
-</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:imagescale HREF=#d:imagescale>imagescale</A>
-</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
-<BR>string</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:label HREF=#d:label>label</A>
-</TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">"\N" (nodes)<BR>"" (otherwise)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelURL HREF=#d:labelURL>labelURL</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:labelangle HREF=#d:labelangle>labelangle</A>
-</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">-25.0</TD><TD>-180.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labeldistance HREF=#d:labeldistance>labeldistance</A>
-</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelfloat HREF=#d:labelfloat>labelfloat</A>
-</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelfontcolor HREF=#d:labelfontcolor>labelfontcolor</A>
-</TD><TD>E</TD><TD><A HREF=#k:color>color</A>
-</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelfontname HREF=#d:labelfontname>labelfontname</A>
-</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelfontsize HREF=#d:labelfontsize>labelfontsize</A>
-</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelhref HREF=#d:labelhref>labelhref</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:labeljust HREF=#d:labeljust>labeljust</A>
-</TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"c"</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labelloc HREF=#d:labelloc>labelloc</A>
-</TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"t"(clusters)<BR>"b"(root graphs)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=aa:labelloc HREF=#dd:labelloc>labelloc</A>
-</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">"c"(clusters)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:labeltarget HREF=#d:labeltarget>labeltarget</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:labeltooltip HREF=#d:labeltooltip>labeltooltip</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
- <TR><TD><A NAME=a:landscape HREF=#d:landscape>landscape</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:layer HREF=#d:layer>layer</A>
-</TD><TD>EN</TD><TD><A HREF=#k:layerRange>layerRange</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:layers HREF=#d:layers>layers</A>
-</TD><TD>G</TD><TD><A HREF=#k:layerList>layerList</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:layersep HREF=#d:layersep>layersep</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">" :\t"</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:layout HREF=#d:layout>layout</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:len HREF=#d:len>len</A>
-</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>
- <TR><TD><A NAME=a:levels HREF=#d:levels>levels</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">MAXINT</TD><TD>0.0</TD><TD>sfdp only</TD> </TR>
- <TR><TD><A NAME=a:levelsgap HREF=#d:levelsgap>levelsgap</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD></TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:lhead HREF=#d:lhead>lhead</A>
-</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:lp HREF=#d:lp>lp</A>
-</TD><TD>EGC</TD><TD><A HREF=#k:point>point</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
- <TR><TD><A NAME=a:ltail HREF=#d:ltail>ltail</A>
-</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:margin HREF=#d:margin>margin</A>
-</TD><TD>NG</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
-</TD><TD ALIGN="CENTER">&#60;device-dependent&#62;</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:maxiter HREF=#d:maxiter>maxiter</A>
-</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>
- <TR><TD><A NAME=a:mclimit HREF=#d:mclimit>mclimit</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:mindist HREF=#d:mindist>mindist</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>circo only</TD> </TR>
- <TR><TD><A NAME=a:minlen HREF=#d:minlen>minlen</A>
-</TD><TD>E</TD><TD>int</TD><TD ALIGN="CENTER">1</TD><TD>0</TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:mode HREF=#d:mode>mode</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"major"</TD><TD></TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:model HREF=#d:model>model</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"shortpath"</TD><TD></TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:mosek HREF=#d:mosek>mosek</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>neato only</TD> </TR>
- <TR><TD><A NAME=a:nodesep HREF=#d:nodesep>nodesep</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.25</TD><TD>0.02</TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:nojustify HREF=#d:nojustify>nojustify</A>
-</TD><TD>GCNE</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:normalize HREF=#d:normalize>normalize</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:nslimit HREF=#d:nslimit>nslimit</A>
-<BR><A NAME=a:nslimit1 HREF=#d:nslimit1>nslimit1</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:ordering HREF=#d:ordering>ordering</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:orientation HREF=#d:orientation>orientation</A>
-</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>360.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=aa:orientation HREF=#dd:orientation>orientation</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:outputorder HREF=#d:outputorder>outputorder</A>
-</TD><TD>G</TD><TD><A HREF=#k:outputMode>outputMode</A>
-</TD><TD ALIGN="CENTER">breadthfirst</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:overlap HREF=#d:overlap>overlap</A>
-</TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:pack HREF=#d:pack>pack</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-<BR>int</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:packmode HREF=#d:packmode>packmode</A>
-</TD><TD>G</TD><TD><A HREF=#k:packMode>packMode</A>
-</TD><TD ALIGN="CENTER">node</TD><TD></TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:pad HREF=#d:pad>pad</A>
-</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
-</TD><TD ALIGN="CENTER">0.0555 (4 points)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:page HREF=#d:page>page</A>
-</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:pagedir HREF=#d:pagedir>pagedir</A>
-</TD><TD>G</TD><TD><A HREF=#k:pagedir>pagedir</A>
-</TD><TD ALIGN="CENTER">BL</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:pencolor HREF=#d:pencolor>pencolor</A>
-</TD><TD>C</TD><TD><A HREF=#k:color>color</A>
-</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:penwidth HREF=#d:penwidth>penwidth</A>
-</TD><TD>CNE</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:peripheries HREF=#d:peripheries>peripheries</A>
-</TD><TD>NC</TD><TD>int</TD><TD ALIGN="CENTER">shape default(nodes)<BR>1(clusters)</TD><TD>0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:pin HREF=#d:pin>pin</A>
-</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>fdp, neato only</TD> </TR>
- <TR><TD><A NAME=a:pos HREF=#d:pos>pos</A>
-</TD><TD>EN</TD><TD><A HREF=#k:point>point</A>
-<BR><A HREF=#k:splineType>splineType</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:quadtree HREF=#d:quadtree>quadtree</A>
-</TD><TD>G</TD><TD><A HREF=#k:quadType>quadType</A>
-<BR><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">"normal"</TD><TD></TD><TD>sfdp only</TD> </TR>
- <TR><TD><A NAME=a:quantum HREF=#d:quantum>quantum</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>0.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:rank HREF=#d:rank>rank</A>
-</TD><TD>S</TD><TD><A HREF=#k:rankType>rankType</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:rankdir HREF=#d:rankdir>rankdir</A>
-</TD><TD>G</TD><TD><A HREF=#k:rankdir>rankdir</A>
-</TD><TD ALIGN="CENTER">TB</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:ranksep HREF=#d:ranksep>ranksep</A>
-</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>
- <TR><TD><A NAME=a:ratio HREF=#d:ratio>ratio</A>
-</TD><TD>G</TD><TD>double<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:rects HREF=#d:rects>rects</A>
-</TD><TD>N</TD><TD><A HREF=#k:rect>rect</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
- <TR><TD><A NAME=a:regular HREF=#d:regular>regular</A>
-</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:remincross HREF=#d:remincross>remincross</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:repulsiveforce HREF=#d:repulsiveforce>repulsiveforce</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>sfdp only</TD> </TR>
- <TR><TD><A NAME=a:resolution HREF=#d:resolution>resolution</A>
-</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>
- <TR><TD><A NAME=a:root HREF=#d:root>root</A>
-</TD><TD>GN</TD><TD>string<BR><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">""(graphs)<BR>false(nodes)</TD><TD></TD><TD>circo, twopi only</TD> </TR>
- <TR><TD><A NAME=a:rotate HREF=#d:rotate>rotate</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:samehead HREF=#d:samehead>samehead</A>
-</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:sametail HREF=#d:sametail>sametail</A>
-</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:samplepoints HREF=#d:samplepoints>samplepoints</A>
-</TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">8(output)<BR>20(overlap and image maps)</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:searchsize HREF=#d:searchsize>searchsize</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">30</TD><TD></TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:sep HREF=#d:sep>sep</A>
-</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
-</TD><TD ALIGN="CENTER">+4</TD><TD></TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:shape HREF=#d:shape>shape</A>
-</TD><TD>N</TD><TD><A HREF=#k:shape>shape</A>
-</TD><TD ALIGN="CENTER">ellipse</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:shapefile HREF=#d:shapefile>shapefile</A>
-</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:showboxes HREF=#d:showboxes>showboxes</A>
-</TD><TD>ENG</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD>0</TD><TD>dot only</TD> </TR>
- <TR><TD><A NAME=a:sides HREF=#d:sides>sides</A>
-</TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">4</TD><TD>0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:size HREF=#d:size>size</A>
-</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:skew HREF=#d:skew>skew</A>
-</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:smoothing HREF=#d:smoothing>smoothing</A>
-</TD><TD>G</TD><TD><A HREF=#k:smoothType>smoothType</A>
-</TD><TD ALIGN="CENTER">"none"</TD><TD></TD><TD>sfdp only</TD> </TR>
- <TR><TD><A NAME=a:splines HREF=#d:splines>splines</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:start HREF=#d:start>start</A>
-</TD><TD>G</TD><TD><A HREF=#k:startType>startType</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>fdp, neato only</TD> </TR>
- <TR><TD><A NAME=a:style HREF=#d:style>style</A>
-</TD><TD>ENC</TD><TD><A HREF=#k:style>style</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:stylesheet HREF=#d:stylesheet>stylesheet</A>
-</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
- <TR><TD><A NAME=a:tailURL HREF=#d:tailURL>tailURL</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:tailclip HREF=#d:tailclip>tailclip</A>
-</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:tailhref HREF=#d:tailhref>tailhref</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:taillabel HREF=#d:taillabel>taillabel</A>
-</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:tailport HREF=#d:tailport>tailport</A>
-</TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
-</TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:tailtarget HREF=#d:tailtarget>tailtarget</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:tailtooltip HREF=#d:tailtooltip>tailtooltip</A>
-</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
- <TR><TD><A NAME=a:target HREF=#d:target>target</A>
-</TD><TD>ENGC</TD><TD><A HREF=#k:escString>escString</A>
-<BR>string</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
- <TR><TD><A NAME=a:tooltip HREF=#d:tooltip>tooltip</A>
-</TD><TD>NEC</TD><TD><A HREF=#k:escString>escString</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
- <TR><TD><A NAME=a:truecolor HREF=#d:truecolor>truecolor</A>
-</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>bitmap output only</TD> </TR>
- <TR><TD><A NAME=a:vertices HREF=#d:vertices>vertices</A>
-</TD><TD>N</TD><TD><A HREF=#k:pointfList>pointfList</A>
-</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
- <TR><TD><A NAME=a:viewport HREF=#d:viewport>viewport</A>
-</TD><TD>G</TD><TD><A HREF=#k:viewPort>viewPort</A>
-</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
- <TR><TD><A NAME=a:voro_margin HREF=#d:voro_margin>voro_margin</A>
-</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.05</TD><TD>0.0</TD><TD>not dot</TD> </TR>
- <TR><TD><A NAME=a:weight HREF=#d:weight>weight</A>
-</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0(dot)<BR>1(neato,fdp,sfdp)</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:width HREF=#d:width>width</A>
-</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.75</TD><TD>0.01</TD><TD></TD> </TR>
- <TR><TD><A NAME=a:z HREF=#d:z>z</A>
-</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-MAXFLOAT<BR>-1000</TD><TD></TD> </TR>
-</TABLE>
-<HR>
-<H1>Attribute Descriptions</H1>
-<DL>
-<DT><A NAME=d:Damping HREF=#a:Damping><STRONG>Damping</STRONG></A>
-<DD>  Factor damping force motions. On each iteration, a nodes movement
-  is limited to this factor of its potential motion. By being less than
-  1.0, the system tends to ``cool'', thereby preventing cycling.
-
-<DT><A NAME=d:K HREF=#a:K><STRONG>K</STRONG></A>
-<DD>  Spring constant used in virtual physical model. It roughly corresponds
-  to an ideal edge length (in inches), in that increasing K tends to
-  increase the distance between nodes.
-  Note that the edge attribute <A HREF=#d:len>len</A> can be used to
-  override this value for adjacent nodes.
-
-<DT><A NAME=d:URL HREF=#a:URL><STRONG>URL</STRONG></A>
-<DD>  Hyperlinks incorporated into device-dependent output.
-  At present, used in ps2, cmap, i*map and svg formats.
-  For all these formats, URLs can be attached to nodes, edges and
-  clusters. URL attributes can also be attached to the root graph in ps2,
-  cmap and i*map formats. This serves as the base URL for relative URLs in the
-  former, and as the default image map file in the latter.
-  <P>
-  For svg, cmapx and imap output, the active area for a node is its
-  visible image.
-  For example, an unfilled
-  node with no drawn boundary will only be active on its label.
-  For other output, the active area is its bounding box.
-  The active area for a cluster is its bounding box.
-  For edges, the active areas are small circles where the edge contacts its head
-  and tail nodes. In addition, for svg, cmapx and imap, the active area
-  includes a thin polygon approximating the edge. The circles may
-  overlap the related node, and the edge URL dominates.
-  If the edge has a label, this will also be active.
-  Finally, if the edge has a head or tail label, this will also be active.
-  <P>
-  Note that, for edges, the attributes <A HREF=#d:headURL>headURL</A>,
-  <A HREF=#d:tailURL>tailURL</A>, <A HREF=#d:labelURL>labelURL</A> and
-  <A HREF=#d:edgeURL>edgeURL</A> allow control of various parts of an
-  edge.
-  Also note that, if active areas of two edges overlap, it is unspecified
-  which area dominates.
-
-<DT><A NAME=d:arrowhead HREF=#a:arrowhead><STRONG>arrowhead</STRONG></A>
-<DD>  Style of arrowhead on the head node of an edge.
-  See also the <A HREF=#d:dir>dir</A> attribute,
-  and a <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:arrowsize HREF=#a:arrowsize><STRONG>arrowsize</STRONG></A>
-<DD>  Multiplicative scale factor for arrowheads.
-
-<DT><A NAME=d:arrowtail HREF=#a:arrowtail><STRONG>arrowtail</STRONG></A>
-<DD>  Style of arrowhead on the tail node of an edge.
-  See also the <A HREF=#d:dir>dir</A> attribute,
-  and a <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:bb HREF=#a:bb><STRONG>bb</STRONG></A>
-<DD>  Bounding box of drawing in integer points.
-
-<DT><A NAME=d:bgcolor HREF=#a:bgcolor><STRONG>bgcolor</STRONG></A>
-<DD>  When attached to the root graph, this color is used as the background for
-  entire canvas. When a cluster attribute, it is used as the initial
-  background for the cluster. If a cluster has a filled
-  <A HREF=#d:style>style</A>, the
-  cluster's <A HREF=#d:fillcolor>fillcolor</A> will overlay the
-  background color.
-  <P>
-  If no background color is specified for the root graph, no graphics
-  operation are performed on the background. This works fine for
-  PostScript but for bitmap output, all bits are initialized to something.
-  This means that when the bitmap output is included in some other
-  document, all of the bits within the bitmap's bounding box will be
-  set, overwriting whatever color or graphics where already on the page.
-  If this effect is not desired, and you only want to set bits explicitly
-  assigned in drawing the graph, set <B>bgcolor</B>="transparent".
-
-<DT><A NAME=d:center HREF=#a:center><STRONG>center</STRONG></A>
-<DD>  If true, the drawing is centered in the output canvas.
-
-<DT><A NAME=d:charset HREF=#a:charset><STRONG>charset</STRONG></A>
-<DD>  Specifies the character encoding used when interpreting string input
-  as a text label. The default value is <TT>"UTF-8"</TT>.
-  The other legal value is <TT>"iso-8859-1"</TT> or,
-  equivalently,
-  <TT>"Latin1"</TT>. The <B>charset</B> attribute is case-insensitive.
-  Note that if the character encoding used in the input does not
-  match the <B>charset</B> value, the resulting output may be very strange.
-
-<DT><A NAME=d:clusterrank HREF=#a:clusterrank><STRONG>clusterrank</STRONG></A>
-<DD>  Mode used for handling clusters. If <B>clusterrank</B> is "local", a
-  subgraph whose name begins with "cluster" is given special treatment.
-  The subgraph is laid out separately, and then integrated as a unit into
-  its parent graph, with a bounding rectangle drawn about it.
-  If the cluster has a <A HREF=#d:label>label</A> parameter, this label
-  is displayed within the rectangle.
-  Note also that there can be clusters within clusters.
-  At present, the modes "global" and "none"
-  appear to be identical, both turning off the special cluster processing.
-
-<DT><A NAME=d:color HREF=#a:color><STRONG>color</STRONG></A>
-<DD>  Basic drawing color for graphics, not text. For the latter, use the
-  <A HREF=#d.fontcolor>fontcolor</A> attribute.
-  <P>
-  For edges, the value
-  can either be a single color or a <A HREF=#k:colorList>colorList</A>.
-  In the latter case, the edge is drawn using parallel splines or lines,
-  one for each color in the list, in the order given.
-  The head arrow, if any, is drawn using the first color in the list,
-  and the tail arrow, if any, the second color. This supports the common
-  case of drawing opposing edges, but using parallel splines instead of
-  separately routed multiedges. For example, the graph
-  <PRE>
-  digraph G {
-    a -> b [dir=both color="red:blue"]
-  }
-  </PRE>
-  yields<BR>
-  <IMG SRC="colorlist.gif">
-
-<DT><A NAME=d:colorscheme HREF=#a:colorscheme><STRONG>colorscheme</STRONG></A>
-<DD>  This attribute specifies a color scheme namespace. If defined, it specifies
-  the context for interpreting color names. In particular, if a
-  <A HREF=#k:color>color</A> value has form <TT>"xxx"</TT> or <TT>"//xxx"</TT>,
-  then the
-  color <TT>xxx</TT> will be evaluated according to the current color scheme.
-  If no color scheme is set, the standard X11 naming is used.
-  For example, if <TT>colorscheme=bugn9</TT>, then <TT>color=7</TT>
-  is interpreted as <TT>"/bugn9/7"</TT>.
-
-<DT><A NAME=d:comment HREF=#a:comment><STRONG>comment</STRONG></A>
-<DD>  Comments are inserted into output. Device-dependent
-
-<DT><A NAME=d:compound HREF=#a:compound><STRONG>compound</STRONG></A>
-<DD>  If true, allow edges between clusters. (See <A HREF=#d:lhead>lhead</A>
-  and <A HREF=#d:ltail>ltail</A> below.)
-
-<DT><A NAME=d:concentrate HREF=#a:concentrate><STRONG>concentrate</STRONG></A>
-<DD>  If true, use edge concentrators.
-
-<DT><A NAME=d:constraint HREF=#a:constraint><STRONG>constraint</STRONG></A>
-<DD>  If false, the edge is not used in ranking the nodes. For example,
-  in the graph
-  <PRE>
-  digraph G {
-    a -> c;
-    a -> b;
-    b -> c [constraint=false];
-  }
-  </PRE>
-  the edge <CODE>b -> c</CODE> does not add a constraint during rank
-  assignment, so the only constraints are that a be above b and c,
-  yielding the graph:<BR>
-  <IMG SRC="constraint.gif">
-
-<DT><A NAME=d:decorate HREF=#a:decorate><STRONG>decorate</STRONG></A>
-<DD>  If true, attach edge label to edge by a 2-segment
-  polyline, underlining the label, then going to the closest point of spline.
-
-<DT><A NAME=d:defaultdist HREF=#a:defaultdist><STRONG>defaultdist</STRONG></A>
-<DD>  This specifies the distance between nodes in separate connected
-  components. If set too small, connected components may overlap.
-  Only applicable if <A HREF=#d:pack>pack</A>=false.
-
-<DT><A NAME=d:dim HREF=#a:dim><STRONG>dim</STRONG></A>
-<DD>  Set the number of dimensions used for the layout. The maximum value
-  allowed is 10.
-
-<DT><A NAME=d:dimen HREF=#a:dimen><STRONG>dimen</STRONG></A>
-<DD>  Set the number of dimensions used for rendering. 
-  The maximum value allowed is 10.
-  If both <TT>dimen</TT> and <TT>dim</TT> are set, the latter specifies
-  the dimension used for layout, and the former for rendering.
-  If only <TT>dimen</TT> is set, this is used for both layout and rendering
-  dimensions.
-
-<DT><A NAME=d:dir HREF=#a:dir><STRONG>dir</STRONG></A>
-<DD>  Set edge type for drawing arrowheads. This indicates which ends of the
-  edge should be decorated with an arrowhead. The actual style of the
-  arrowhead can be specified using the <A HREF=#d:arrowhead>arrowhead</A>
-  and <A HREF=#d:arrowtail>arrowtail</A> attributes.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:diredgeconstraints HREF=#a:diredgeconstraints><STRONG>diredgeconstraints</STRONG></A>
-<DD>  Only valid when <A HREF=#d:mode>mode</A>="ipsep".
-  If true, constraints are generated for each edge in the largest (heuristic)
-  directed acyclic subgraph such that the edge must point downwards.
-  If "hier", generates level constraints similar to those used with
-  <A HREF=#d:mode>mode</A>="hier". The main difference is that, in the latter
-  case, only these constraints are involved, so a faster solver can be used.
-
-<DT><A NAME=d:distortion HREF=#a:distortion><STRONG>distortion</STRONG></A>
-<DD>  Distortion factor for <A HREF=#d:shape><B>shape</B></A>=polygon.
-  Positive values cause top part to
-  be larger than bottom; negative values do the opposite.
-
-<DT><A NAME=d:dpi HREF=#a:dpi><STRONG>dpi</STRONG></A>
-<DD>  This specifies the expected number of pixels per inch on a display device.
-  For bitmap output, this guarantees that text rendering will be
-  done more accurately, both in size and in placement. For SVG output,
-  it is used to guarantee that the dimensions in the output correspond to
-  the correct number of points or inches.
-
-<DT><A NAME=d:edgeURL HREF=#a:edgeURL><STRONG>edgeURL</STRONG></A>
-<DD>  If <B>edgeURL</B> is defined, this is the link used for the non-label
-  parts of an edge. This value overrides any <A HREF=#d:URL>URL</A>
-  defined for the edge.
-  Also, this value is used near the head or tail node unless overridden
-  by a <A HREF=#d:headURL>headURL</A> or <A HREF=#d:tailURL>tailURL</A> value,
-  respectively.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:edgehref HREF=#a:edgehref><STRONG>edgehref</STRONG></A>
-<DD>  Synonym for <A HREF=#d:edgeURL>edgeURL</A>.
-
-<DT><A NAME=d:edgetarget HREF=#a:edgetarget><STRONG>edgetarget</STRONG></A>
-<DD>  If the edge has a <A HREF=#d:URL>URL</A> or <A HREF=#d:edgeURL>edgeURL</A>
-  attribute, this attribute determines which window of the
-  browser is used
-  for the URL attached to the non-label part of the edge.
-  Setting it to "_graphviz" will open a new window if it
-  doesn't already exist, or reuse it if it does.
-  If undefined, the value of the <A HREF=#d:target>target</A> is used.
-
-<DT><A NAME=d:edgetooltip HREF=#a:edgetooltip><STRONG>edgetooltip</STRONG></A>
-<DD>  Tooltip annotation attached to the non-label part of an edge.
-  This is used only if the edge has a <A HREF=#d:URL>URL</A>
-  or <A HREF=#d:edgeURL>edgeURL</A> attribute.
-
-<DT><A NAME=d:epsilon HREF=#a:epsilon><STRONG>epsilon</STRONG></A>
-<DD>  Terminating condition. If the length squared of all energy gradients are
-  < <B>epsilon</B>, the algorithm stops.
-
-<DT><A NAME=d:esep HREF=#a:esep><STRONG>esep</STRONG></A>
-<DD>  Margin used around polygons for purposes of spline edge routing.
-  The interpretation is the same as given for <A HREF=#d:sep>sep</A>.
-  This should normally be strictly less than <A HREF=#d:sep>sep</A>.
-
-<DT><A NAME=d:fillcolor HREF=#a:fillcolor><STRONG>fillcolor</STRONG></A>
-<DD>  Color used to fill the background of a node or cluster
-  assuming <A HREF=#d:style>style</A>=filled.
-  If <B>fillcolor</B> is not defined, <A HREF=#d:color>color</A> is
-  used. (For clusters, if <B>color</B> is not defined,
-  <A HREF=#d:bgcolor>bgcolor</A> is used.) If this is not defined,
-  the default is used, except for
-  <A HREF=#d:shape><B>shape</B></A>=point or when the output
-  format is MIF,
-  which use black by default.
-  <P>
-  Note that a cluster inherits the root graph's attributes if defined.
-  Thus, if the root graph has defined a <B>fillcolor</B>, this will override a
-  <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
-
-<DT><A NAME=d:fixedsize HREF=#a:fixedsize><STRONG>fixedsize</STRONG></A>
-<DD>  If true, the node size is specified by the values of the
-  <A HREF=#d:width><B>width</B></A>
-  and <A HREF=#d:height><B>height</B></A> attributes only
-  and is not expanded to contain the text label.
-
-<DT><A NAME=d:fontcolor HREF=#a:fontcolor><STRONG>fontcolor</STRONG></A>
-<DD>  Color used for text.
-
-<DT><A NAME=d:fontname HREF=#a:fontname><STRONG>fontname</STRONG></A>
-<DD>  Font used for text. This very much depends on the output format and, for
-  non-bitmap output such as PostScript or SVG, the availability of the font
-  when the graph is displayed or printed. As such, it is best to rely on
-  font faces that are generally available, such as Times-Roman, Helvetica or
-  Courier.
-  <P>
-  If Graphviz was built using the
-  <A HREF=http://pdx.freedesktop.org/~fontconfig/fontconfig-user.html>fontconfig library</A>, the latter library
-  will be used to search for the font. However, if the <TT>fontname</TT> string
-  contains a slash character "/", it is treated as a pathname for the font
-  file, though font lookup will append the usual font suffixes.
-  <P>
-  If Graphviz does not use fontconfig, <TT>fontname</TT> will be
-  considered the name of a Type 1 or True Type font file.
-  If you specify <TT>fontname=schlbk</TT>, the tool will look for a
-  file named  <TT>schlbk.ttf</TT> or <TT>schlbk.pfa</TT> or <TT>schlbk.pfb</TT>
-  in one of the directories specified by
-  the <A HREF=#d:fontpath>fontpath</A> attribute.
-  The lookup does support various aliases for the common fonts.
-
-<DT><A NAME=d:fontnames HREF=#a:fontnames><STRONG>fontnames</STRONG></A>
-<DD>  Allows user control of how basic fontnames are represented in SVG output.
-  If <TT>fontnames</TT> is undefined or <TT>"svg"</TT>,
-  the output will try to use known SVG fontnames. For example, the
-  default font  <TT>"Times-Roman"</TT> will be mapped to the
-  basic SVG font <TT>"serif"</TT>. This can be overridden by setting
-  <TT>fontnames</TT> to  <TT>"ps"</TT> or  <TT>"gd"</TT>.
-  In the former case, known PostScript font names such as
-  <TT>"Times-Roman"</TT> will be used in the output.
-  In the latter case, the fontconfig font conventions
-  are used. Thus, <TT>"Times-Roman"</TT> would be treated as
-  <TT>"Nimbus Roman No9 L"</TT>. These last two options are useful
-  with SVG viewers that support these richer fontname spaces.
-
-<DT><A NAME=d:fontpath HREF=#a:fontpath><STRONG>fontpath</STRONG></A>
-<DD>  Directory list used by libgd to search for bitmap fonts if Graphviz
-  was not built with the fontconfig library.
-  If <B>fontpath</B> is not set, the environment
-  variable <TT>DOTFONTPATH</TT> is checked.
-  If that is not set, <TT>GDFONTPATH</TT> is checked.
-  If not set, libgd uses its compiled-in font path.
-  Note that fontpath is an attribute of the root graph.
-
-<DT><A NAME=d:fontsize HREF=#a:fontsize><STRONG>fontsize</STRONG></A>
-<DD>  Font size, <A HREF=#points>in points</A>, used for text.
-
-<DT><A NAME=d:group HREF=#a:group><STRONG>group</STRONG></A>
-<DD>  If the end points of an edge belong to the same group, i.e., have the
-  same group attribute, parameters are set to avoid crossings and keep
-  the edges straight.
-
-<DT><A NAME=d:headURL HREF=#a:headURL><STRONG>headURL</STRONG></A>
-<DD>  If <B>headURL</B> is defined, it is
-  output as part of the head label of the edge.
-  Also, this value is used near the head node, overriding any
-  <A HREF=#d:URL>URL</A> value.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:headclip HREF=#a:headclip><STRONG>headclip</STRONG></A>
-<DD>  If true, the head of an edge is clipped to the boundary of the head node;
-  otherwise, the end of the edge goes to the center of the node, or the
-  center of a port, if applicable.
-
-<DT><A NAME=d:headhref HREF=#a:headhref><STRONG>headhref</STRONG></A>
-<DD>  Synonym for <A HREF=#d:headURL>headURL</A>.
-
-<DT><A NAME=d:headlabel HREF=#a:headlabel><STRONG>headlabel</STRONG></A>
-<DD>  Text label to be placed near head of edge.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:headport HREF=#a:headport><STRONG>headport</STRONG></A>
-<DD>  Indicates where on the head node to attach the head of the edge.
-  In the default case, the edge is aimed towards the center of the node,
-  and then clipped at the node boundary.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:headtarget HREF=#a:headtarget><STRONG>headtarget</STRONG></A>
-<DD>  If the edge has a <A HREF=#d:headURL>headURL</A>,
-  this attribute determines which window of the
-  browser is used
-  for the URL. Setting it to "_graphviz" will open a new window if it
-  doesn't already exist, or reuse it if it does.
-  If undefined, the value of the <A HREF=#d:target>target</A> is used.
-
-<DT><A NAME=d:headtooltip HREF=#a:headtooltip><STRONG>headtooltip</STRONG></A>
-<DD>  Tooltip annotation attached to the head of an edge. This is used only
-  if the edge has a <A HREF=#d:headURL>headURL</A> attribute.
-
-<DT><A NAME=d:height HREF=#a:height><STRONG>height</STRONG></A>
-<DD>  Height of node, in inches. This is taken as the initial, minimum height
-  of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
-  will be the final height of the node. Otherwise, if the node label
-  requires more height to fit, the node's height will be increased to
-  contain the label. Note also that, if the output format is dot, the
-  value given to <B>height</B> will be the final value.
-
-<DT><A NAME=d:href HREF=#a:href><STRONG>href</STRONG></A>
-<DD>  Synonym for <A HREF=#d:URL>URL</A>.
-
-<DT><A NAME=d:image HREF=#a:image><STRONG>image</STRONG></A>
-<DD>  Gives the name of a file containing an image to be displayed inside
-  a node. The image file must be in one of the recognized formats,
-  typically JPEG, PNG, GIF or Postscript, and be able to be converted
-  into the desired output format.
-  <P>
-  Unlike with the <A HREF=#d:shapefile>shapefile</A> attribute,
-  the image is treated as node
-  content rather than the entire node. In particular, an image can
-  be contained in a node of any shape, not just a rectangle.
-
-<DT><A NAME=d:imagescale HREF=#a:imagescale><STRONG>imagescale</STRONG></A>
-<DD>  Attribute controlling how an image fills its
-  containing node. In general, the image is given its natural size,
-  (cf. <A HREF=#d:dpi>dpi</A>),
-  and the node size is made large enough to contain its image, its
-  label, its margin, and its peripheries.
-  Its width and height will also be at least as large as its
-  minimum <A HREF=#d:width>width</A> and <A HREF=#d:height>height</A>.
-  If, however, <TT>fixedsize=true</TT>,
-  the width and height attributes specify the exact size of the node.
-  <P>
-  During rendering, in the default case (<TT>imagescale=false</TT>),
-  the image retains its natural size.
-  If <TT>imagescale=true</TT>,
-  the image is uniformly scaled (i.e., its aspect ration is
-  preserved) to fit inside the node.
-  At least one dimension of the image will be as large as possible
-  given the size of the node.
-  When <TT>imagescale=width</TT>,
-  the width of the image is scaled to fill the node width.
-  The corresponding property holds when <TT>imagescale=height</TT>.
-  When <TT>imagescale=both</TT>,
-  both the height and the width are scaled separately to fill the node.
-  <P>
-  In all cases, if a dimension of the image is larger than the
-  corresponding dimension of the node, that dimension of the
-  image is scaled down to fit the node. As with the case of
-  expansion, if  <TT>imagescale=true</TT>, width and height are
-  scaled uniformly.
-
-<DT><A NAME=d:label HREF=#a:label><STRONG>label</STRONG></A>
-<DD>  Text label attached to objects.
-  If a node's <A HREF=#d:shape>shape</A> is record, then the label can
-  have a <A HREF=shapes.html#record>special format</A>
-  which describes the record layout.
-
-<DT><A NAME=d:labelURL HREF=#a:labelURL><STRONG>labelURL</STRONG></A>
-<DD>  If <B>labelURL</B> is defined, this is the link used for the label
-  of an edge. This value overrides any <A HREF=#d:URL>URL</A>
-  defined for the edge.
-
-<DT><A NAME=d:labelangle HREF=#a:labelangle><STRONG>labelangle</STRONG></A>
-<DD>  This, along with <A HREF=#d:labeldistance>labeldistance</A>, determine
-  where the
-  headlabel (taillabel) are placed with respect to the head (tail)
-  in polar coordinates. The origin in the coordinate system is
-  the point where the edge touches the node. The ray of 0 degrees
-  goes from the origin back along the edge, parallel to the edge
-  at the origin.
-  <P>
-  The angle, in degrees, specifies the rotation from the 0 degree ray,
-  with positive angles moving counterclockwise and negative angles
-  moving clockwise.
-
-<DT><A NAME=d:labeldistance HREF=#a:labeldistance><STRONG>labeldistance</STRONG></A>
-<DD>  Multiplicative scaling factor adjusting the distance that
-  the headlabel(taillabel) is from the head(tail) node.
-  The default distance is 10 points. See <A HREF=#d:labelangle>labelangle</A>
-  for more details.
-
-<DT><A NAME=d:labelfloat HREF=#a:labelfloat><STRONG>labelfloat</STRONG></A>
-<DD>  If true, allows edge labels to be less constrained in position.
-  In particular, it may appear on top of other edges.
-
-<DT><A NAME=d:labelfontcolor HREF=#a:labelfontcolor><STRONG>labelfontcolor</STRONG></A>
-<DD>  Color used for headlabel and taillabel.
-  If not set, defaults to edge's fontcolor.
-
-<DT><A NAME=d:labelfontname HREF=#a:labelfontname><STRONG>labelfontname</STRONG></A>
-<DD>  Font used for headlabel and taillabel.
-  If not set, defaults to edge's fontname.
-
-<DT><A NAME=d:labelfontsize HREF=#a:labelfontsize><STRONG>labelfontsize</STRONG></A>
-<DD>  Font size, <A HREF=#points>in points</A>, used for headlabel and taillabel.
-  If not set, defaults to edge's fontsize.
-
-<DT><A NAME=d:labelhref HREF=#a:labelhref><STRONG>labelhref</STRONG></A>
-<DD>  Synonym for <A HREF=#d:labelURL>labelURL</A>.
-
-<DT><A NAME=d:labeljust HREF=#a:labeljust><STRONG>labeljust</STRONG></A>
-<DD>  Justification for cluster labels. If "r", the label
-  is right-justified within bounding rectangle; if "l", left-justified;
-  else the label is centered.
-  Note that a subgraph inherits attributes from its parent. Thus, if
-  the root graph sets <B>labeljust</B> to "l", the subgraph inherits
-  this value.
-
-<DT><A NAME=d:labelloc HREF=#a:labelloc><STRONG>labelloc</STRONG></A>
-<DD>  Top/bottom placement of graph and cluster labels.
-  If the attribute is "t", place label at the top;
-  if the attribute is "b", place label at the bottom.
-  By default, root
-  graph labels go on the bottom and cluster labels go on the top.
-  Note that a subgraph inherits attributes from its parent. Thus, if
-  the root graph sets <B>labelloc</B> to "b", the subgraph inherits
-  this value.
-
-<DT><A NAME=dd:labelloc HREF=#aa:labelloc><STRONG>labelloc</STRONG></A>
-<DD>  Vertical placement of node label. By default, if the height of a node
-  is larger than the height of its label, the label is vertically centered.
-  If <TT>labelloc</TT> is set to "t", "c", or "b", the label is aligned
-  with the top, centered, or aligned with the bottom of the node, respectively.
-
-<DT><A NAME=d:labeltarget HREF=#a:labeltarget><STRONG>labeltarget</STRONG></A>
-<DD>  If the edge has a <A HREF=#d:URL>URL</A> or <A HREF=#d:labelURL>labelURL</A>
-  attribute, this attribute determines which window of the
-  browser is used
-  for the URL attached to the label.
-  Setting it to "_graphviz" will open a new window if it
-  doesn't already exist, or reuse it if it does.
-  If undefined, the value of the <A HREF=#d:target>target</A> is used.
-
-<DT><A NAME=d:labeltooltip HREF=#a:labeltooltip><STRONG>labeltooltip</STRONG></A>
-<DD>  Tooltip annotation attached to label of an edge.
-  This is used only if the edge has a <A HREF=#d:URL>URL</A>
-  or <A HREF=#d:labelURL>labelURL</A> attribute.
-
-<DT><A NAME=d:landscape HREF=#a:landscape><STRONG>landscape</STRONG></A>
-<DD>  If true, the graph is rendered in landscape mode. Synonymous with
-  <A HREF=#d:rotate><TT>rotate=90</TT></A> or
-  <A HREF=#d:orientation><TT>orientation=landscape</TT></A>.
-
-<DT><A NAME=d:layer HREF=#a:layer><STRONG>layer</STRONG></A>
-<DD>  Specifies layers in which the node or edge is present.
-
-<DT><A NAME=d:layers HREF=#a:layers><STRONG>layers</STRONG></A>
-<DD>  Specifies a linearly ordered list of layer names attached to the graph
-  The graph is then output in separate layers. Only those components
-  belonging to the current output layer appear. For more information,
-  see the page <A HREF="http://www.graphviz.org/Documentation/html/layers/">How to use drawing layers (overlays)</A>.
-
-<DT><A NAME=d:layersep HREF=#a:layersep><STRONG>layersep</STRONG></A>
-<DD>  Specifies the separator characters used to split the
-  <A HREF=#d:layers>layers </A>attribute into a list of layer names.
-
-<DT><A NAME=d:layout HREF=#a:layout><STRONG>layout</STRONG></A>
-<DD>  Specifies the name of the layout algorithm to use, such as "dot"
-  or "neato". Normally, graphs should be kept independent of a type of
-  layout. In some cases, however, it can be convenient to embed the type
-  of layout desired within the graph. For example, a graph containing
-  position information from a layout might want to record what the
-  associated layout algorithm was.
-  <P>
-  This attribute takes precedence over 
-  the <A HREF=command.html#minusK>-K flag</A> 
-  or the actual command name used.
-
-<DT><A NAME=d:len HREF=#a:len><STRONG>len</STRONG></A>
-<DD>  Preferred edge length, in inches.
-
-<DT><A NAME=d:levels HREF=#a:levels><STRONG>levels</STRONG></A>
-<DD>  Number of levels allowed in the multilevel scheme.
-
-<DT><A NAME=d:levelsgap HREF=#a:levelsgap><STRONG>levelsgap</STRONG></A>
-<DD>  Specifies strictness of level constraints in neato
-  when <TT><A HREF=#d:mode>mode</A>="ipsep" or "hier"</TT>.
-  Larger positive values mean stricter constraints, which demand more
-  separation between levels. On the other hand, negative values will relax
-  the constraints by allowing some overlap between the levels.
-
-<DT><A NAME=d:lhead HREF=#a:lhead><STRONG>lhead</STRONG></A>
-<DD>  Logical head of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
-  if <B>lhead</B> is defined and is the name of a cluster containing
-  the real head,
-  the edge is clipped to the boundary of the cluster.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:lp HREF=#a:lp><STRONG>lp</STRONG></A>
-<DD>  Label position, <A HREF=#points>in points</A>.
-  The position indicates the center of the label.
-
-<DT><A NAME=d:ltail HREF=#a:ltail><STRONG>ltail</STRONG></A>
-<DD>  Logical tail of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
-  if <B>ltail</B> is defined and is the name of a cluster
-  containing the real tail,
-  the edge is clipped to the boundary of the cluster.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:margin HREF=#a:margin><STRONG>margin</STRONG></A>
-<DD>  For graphs, this sets x and y margins of canvas, in inches. If the margin
-  is a single double, both margins are set equal to the given value.
-  <P>
-  Note that the margin is not part of the drawing but just empty space
-  left around the drawing. It basically corresponds to a translation of
-  drawing, as would be necessary to center a drawing on a page. Nothing
-  is actually drawn in the margin. To actually extend the background of
-  a drawing, see the <A HREF=#d:pad>pad</A> attribute.
-  <P>
-  For nodes, this attribute specifies space left around the node's label.
-  By default, the value is <TT>0.11,0.055</TT>.
-
-<DT><A NAME=d:maxiter HREF=#a:maxiter><STRONG>maxiter</STRONG></A>
-<DD>  Sets the number of iterations used.
-
-<DT><A NAME=d:mclimit HREF=#a:mclimit><STRONG>mclimit</STRONG></A>
-<DD>  Multiplicative scale factor used to alter the MinQuit (default = 8)
-  and MaxIter (default = 24) parameters used during crossing
-  minimization. These correspond to the
-  number of tries without improvement before quitting and the
-  maximum number of iterations in each pass.
-
-<DT><A NAME=d:mindist HREF=#a:mindist><STRONG>mindist</STRONG></A>
-<DD>  Specifies the minimum separation between all nodes.
-
-<DT><A NAME=d:minlen HREF=#a:minlen><STRONG>minlen</STRONG></A>
-<DD>  Minimum edge length (rank difference between head and tail).
-
-<DT><A NAME=d:mode HREF=#a:mode><STRONG>mode</STRONG></A>
-<DD>  Technique for optimizing the layout. If <B>mode</B> is <TT>"major"</TT>,
-  neato uses stress majorization. If <B>mode</B> is <TT>"KK"</TT>,
-  neato uses a version of the gradient descent method. The only advantage
-  to the latter technique is that it is sometimes appreciably faster for
-  small (number of nodes < 100) graphs. A significant disadvantage is that
-  it may cycle.
-  <P>
-  There are two new, experimental modes in neato, "hier", which adds a top-down
-  directionality similar to the layout used in dot, and "ipsep", which
-  allows the graph to specify minimum vertical and horizontal distances
-  between nodes. (See the <A HREF=#d:sep>sep</A> attribute.)
-
-<DT><A NAME=d:model HREF=#a:model><STRONG>model</STRONG></A>
-<DD>  This value specifies how the distance matrix is computed for the input
-  graph. The distance matrix specifies the ideal distance between every
-  pair of nodes. neato attemps to find a layout which best achieves
-  these distances. By default, it uses the length of the shortest path,
-  where the length of each edge is given by its <A HREF=#d:len>len</A>
-  attribute. If <B>model</B> is <TT>"circuit"</TT>, neato uses the
-  circuit resistance
-  model to compute the distances. This tends to emphasize clusters. If
-  <B>model</B> is <TT>"subset"</TT>, neato uses the subset model. This sets the
-  edge length to be the number of nodes that are neighbors of exactly one
-  of the end points, and then calculates the shortest paths. This helps
-  to separate nodes with high degree.
-
-<DT><A NAME=d:mosek HREF=#a:mosek><STRONG>mosek</STRONG></A>
-<DD>  If Graphviz is built with MOSEK defined, mode=ipsep and mosek=true,
-  the Mosek software (www.mosek.com) is use to solve the ipsep constraints.
-
-<DT><A NAME=d:nodesep HREF=#a:nodesep><STRONG>nodesep</STRONG></A>
-<DD>  Minimum space between two adjacent nodes in the same rank, in inches.
-
-<DT><A NAME=d:nojustify HREF=#a:nojustify><STRONG>nojustify</STRONG></A>
-<DD>  By default, the justification of multi-line labels is done within the
-  largest context that makes sense. Thus, in the label of a polygonal
-  node, a left-justified line will align with the left side of the node
-  (shifted by the prescribed <A HREF=#d:margin>margin</A>).
-  In record nodes, left-justified
-  line will line up with the left side of the enclosing column of fields.
-  If <B>nojustify</B> is <TT>"true"</TT>, multi-line labels will be justified
-  in the context of itself. For example, if the attribute is set,
-  the first label line is long, and the second is shorter and left-justified,
-  the second will align with the left-most character in the first line,
-  regardless of  how large the node might be.
-
-<DT><A NAME=d:normalize HREF=#a:normalize><STRONG>normalize</STRONG></A>
-<DD>  If set, normalize coordinates of final
-  layout so that the first point is at the origin, and then rotate the
-  layout so that the first edge is horizontal.
-
-<DT><A NAME=d:nslimit HREF=#a:nslimit><STRONG>nslimit</STRONG></A>
-,<DT><A NAME=d:nslimit1 HREF=#a:nslimit1><STRONG>nslimit1</STRONG></A>
-<DD>  Used to set number of iterations in
-  network simplex applications. <B>nslimit</B> is used in
-  computing node x coordinates, <B>nslimit1</B> for ranking nodes.
-  If defined, # iterations =  <B>nslimit(1)</B> * # nodes;
-  otherwise,  # iterations = MAXINT.
-
-<DT><A NAME=d:ordering HREF=#a:ordering><STRONG>ordering</STRONG></A>
-<DD>  If "out" for a graph G, and n is a node in G, then edges n->* appear
-  left-to-right in the same order in which they are defined.
-  If "in", the edges *->n appear
-  left-to-right in the same order in which they are defined for all
-  nodes n.
-
-<DT><A NAME=d:orientation HREF=#a:orientation><STRONG>orientation</STRONG></A>
-<DD>  Angle, in degrees, used to rotate node shapes.
-
-<DT><A NAME=dd:orientation HREF=#aa:orientation><STRONG>orientation</STRONG></A>
-<DD>  If "[lL]*", set graph orientation to landscape
-  Used only if <A HREF=#d:rotate><B>rotate</B></A> is not defined.
-
-<DT><A NAME=d:outputorder HREF=#a:outputorder><STRONG>outputorder</STRONG></A>
-<DD>  Specify order in which nodes and edges are drawn.
-
-<DT><A NAME=d:overlap HREF=#a:overlap><STRONG>overlap</STRONG></A>
-<DD>  Determines if and how node overlaps should be removed. Nodes are first
-  enlarged using the <A HREF=#d:sep><B>sep</B></A> attribute.
-  If "true" , overlaps are retained.
-  If the value is "scale", overlaps are removed by uniformly scaling in x and y.
-  If the value converts to "false", node overlaps are removed by a
-  Voronoi-based technique.
-  If the value is "scalexy", x and y are separately
-  scaled to remove overlaps.
-  If the value is "orthoxy" or "orthoyx", overlaps
-  are moved by optimizing two constraint problems, one for the x axis and
-  one for the y. The suffix indicates which axis is processed first.
-  If the value is "ortho", the technique is similar to "orthoxy" except a
-  heuristic is used to reduce the bias between the two passes.
-  If the value is "ortho_yx", the technique is the same as "ortho", except
-  the roles of x and y are reversed.
-  The values "portho", "porthoxy", "porthoxy", and "portho_yx" are similar
-  to the previous four, except only pseudo-orthogonal ordering is
-  enforced.
-  <P>
-  If the value is "compress", the layout will be scaled down as much as
-  possible without introducing any overlaps, obviously assuming there are
-  none to begin with.
-  <P>
-  If the value is "vpsc", overlap removal is similarly to "ortho", except
-  quadratic optimization is used to minimize node displacement.
-  <P>
-  If the layout is done by neato with <A HREF=#d:mode>mode</A>="ipsep",
-  then one can use <TT>overlap=ipsep</TT>.
-  In this case, the overlap removal constraints are
-  incorporated into the layout algorithm itself.
-  N.B. At present, this only supports one level of clustering.
-  <P>
-  Except for fdp, the layouts assume <TT>overlap="true"</TT> as the default.
-  Fdp first uses a number of passes using built-in, force-directed technique
-  to remove overlaps. Thus, fdp accepts <B>overlap</B> with an integer
-  prefix followed by a colon, specifying the number of tries. If there is
-  no prefix, no initial tries will be performed. If there is nothing following
-  a colon, none of the above methods will be attempted. By default, fdp
-  uses <TT>overlap="9:portho"</TT>. Note that <TT>overlap="true"</TT>,
-  <TT>overlap="0:true"</TT> and <TT>overlap="0:"</TT> all turn off all overlap
-  removal.
-  <P>
-  Except for the Voronoi method, all of these transforms preserve the
-  orthogonal ordering of the original layout. That is, if the x coordinates
-  of two nodes are originally the same, they will remain the same, and if
-  the x coordinate of one node is originally less than the x coordinate of
-  another, this relation will still hold in the transformed layout. The
-  similar properties hold for the y coordinates.
-  This is not quite true for the "porth*" cases. For these, orthogonal
-  ordering is only preserved among nodes related by an edge.
-  <P>
-  <B>NOTE: </B>The methods "orthoxy" and "orthoyx" are still evolving. The
-  semantics of these may change, or these methods may disappear altogether.
-
-<DT><A NAME=d:pack HREF=#a:pack><STRONG>pack</STRONG></A>
-<DD>  This is true if the value of pack is "true" (case-insensitive) or a
-  non-negative integer. If true, each connected component of the graph is
-  laid out separately, and then the graphs are packed tightly.
-  If pack has an integral value, this is used as the size,
-  in <A HREF=#points>points</A>, of
-  a margin around each part; otherwise, a default margin of 8 is used.
-  If pack is interpreted as false, the entire graph is laid out together.
-  The granularity and method of packing is influenced by the
-  <A HREF=#d:packmode>packmode</A> attribute.
-  <P>
-  For layouts which always do packing, such a twopi, the <B>pack</B>
-  attribute is just used to set the margin.
-
-<DT><A NAME=d:packmode HREF=#a:packmode><STRONG>packmode</STRONG></A>
-<DD>  This indicates the granularity and method used for packing
-  (cf. <A HREF=#k:packMode>packMode</A>). Note that defining
-  <B>packmode</B> will automatically turn on packing as though one had
-  set <B>pack=true</B>.
-
-<DT><A NAME=d:pad HREF=#a:pad><STRONG>pad</STRONG></A>
-<DD>  The pad attribute specifies how much, in inches, to extend the
-  drawing area around the minimal area needed to draw the graph.
-  If the pad is a single double, both the x and y pad values are set
-  equal to the given value. This area is part of the
-  drawing and will be filled with the background color, if appropriate.
-  <P>
-  Normally, a small pad is used for aesthetic reasons, especially when
-  a background color is used, to avoid having nodes and edges abutting
-  the boundary of the drawn region.
-
-<DT><A NAME=d:page HREF=#a:page><STRONG>page</STRONG></A>
-<DD>  Width and height of output pages, in inches. If this is set and is
-  smaller than the size of the layout, a rectangular array of pages of
-  the specified page size is overlaid on the layout, with origins
-  aligned in the lower-left corner, thereby partitioning the layout
-  into pages. The pages are then produced one at a time, in
-  <A HREF=#d:pagedir>pagedir</A> order.
-  <P>
-  At present, this only works for PostScript output. For other types of
-  output, one should use another tool to split the output into multiple
-  output files. Or use the <A HREF=#d:viewport>viewport</A> to generate
-  multiple files.
-
-<DT><A NAME=d:pagedir HREF=#a:pagedir><STRONG>pagedir</STRONG></A>
-<DD>  If the <A HREF=#d:page>page</A> attribute is set and applicable,
-  this attribute specifies the order in which the pages are emitted.
-  This is limited to one of the 8 row or column major orders.
-
-<DT><A NAME=d:pencolor HREF=#a:pencolor><STRONG>pencolor</STRONG></A>
-<DD>  Color used to draw the bounding box around a cluster.
-  If <B>pencolor</B> is not defined, <A HREF=#d:color><B>color</B></A> is
-  used. If this is not defined, <A HREF=#d:bgcolor>bgcolor</A> is used.
-  If this is not defined, the default is used.
-  <P>
-  Note that a cluster inherits the root graph's attributes if defined.
-  Thus, if the root graph has defined a <B>pencolor</B>, this will override a
-  <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
-
-<DT><A NAME=d:penwidth HREF=#a:penwidth><STRONG>penwidth</STRONG></A>
-<DD>  Specifies the width of the pen, in points, used to draw lines and curves,
-  including the boundaries of edges and clusters. The value is inherited
-  by subclusters.
-  It has no effect on text.
-  <P>
-  Previous to 31 January 2008, the effect of <TT>penwidth=<I>W</I></TT>
-  was achieved by including <TT>setlinewidth(<I>W</I>)</TT>
-  as part of a <A HREF=#d:style><TT>style</TT></A> specification.
-  If both are used, <TT>penwidth</TT> will be used.
-
-<DT><A NAME=d:peripheries HREF=#a:peripheries><STRONG>peripheries</STRONG></A>
-<DD>  Set number of peripheries used in polygonal shapes and cluster
-  boundaries. Note that
-  <A HREF=shapes.html#epsf>user-defined shapes</A> are treated as a
-  form of box shape, so the default
-  peripheries value is 1 and the user-defined shape will be drawn in
-  a bounding rectangle. Setting <TT>peripheries=0</TT> will turn this off.
-  Also, 1 is the maximum peripheries value for clusters.
-
-<DT><A NAME=d:pin HREF=#a:pin><STRONG>pin</STRONG></A>
-<DD>  If true and the node has a pos attribute on input, neato prevents the
-  node from moving from the input position. This property can also be specified
-  in the pos attribute itself (cf. the <A HREF=#d:point>point</A> type).
-  <P>
-  <B>Note:</B> Due to an artifact of the implementation, final coordinates
-  are translated to the origin. Thus, if you look at the output coordinates
-  given in the (x)dot or plain format, pinned nodes will not have the same
-  output coordinates as were given on input. If this is important, a
-  simple workaround is to maintain the coordinates of a pinned node. The vector
-  difference between the old and new coordinates will give the translation,
-  which can then be subtracted from all of the appropriate coordinates.
-
-<DT><A NAME=d:pos HREF=#a:pos><STRONG>pos</STRONG></A>
-<DD>  Position of node, or spline control points.
-  For nodes, the position indicates the center of the node.
-  On output, the coordinates are in <A HREF=#points>points</A>.
-  <P>
-  In neato, fdp and sfdp, pos can be used to set the initial position of a node.
-  By default, the coordinates are assumed to be in points. However, the
-  <A HREF=command.html#d:s>-s</A> command line flag can be used to specify
-  different units.
-  <P>
-  When the <A HREF=command.html#d:n>-n</A> command line flag is used with
-  neato, it is assumed the positions have been set by one of the layout
-  programs, and are therefore in points. Thus, <TT>neato -n</TT> can accept
-  input correctly without requiring a <TT>-s</TT> flag and, in fact,
-  ignores any such flag.
-
-<DT><A NAME=d:quadtree HREF=#a:quadtree><STRONG>quadtree</STRONG></A>
-<DD>  Quadtree scheme to use.
-  <P>
-  A TRUE bool value corresponds to "normal";
-  a FALSE bool value corresponds to "none".
-  As a slight exception to the normal interpretation of bool,
-  a value of "2" corresponds to "fast".
-
-<DT><A NAME=d:quantum HREF=#a:quantum><STRONG>quantum</STRONG></A>
-<DD>  If <B>quantum</B> > 0.0, node label dimensions
-  will be rounded to integral multiples of the quantum.
-
-<DT><A NAME=d:rank HREF=#a:rank><STRONG>rank</STRONG></A>
-<DD>  Rank constraints on the nodes in a subgraph.
-  If <B>rank</B>="same", all nodes are placed on the same rank.
-  If <B>rank</B>="min", all nodes are placed on the minimum rank.
-  If <B>rank</B>="source", all nodes are placed on the minimum rank, and
-  the only nodes on the minimum rank belong to some subgraph whose
-  rank attribute is "source" or "min".
-  Analogous criteria hold for <B>rank</B>="max" and <B>rank</B>="sink".
-  (Note: the
-  minimum rank is topmost or leftmost, and the maximum rank is bottommost
-  or rightmost.)
-
-<DT><A NAME=d:rankdir HREF=#a:rankdir><STRONG>rankdir</STRONG></A>
-<DD>  Sets direction of graph layout. For example, if <B>rankdir</B>="LR",
-  and barring cycles, an edge <CODE>T -> H;</CODE> will go
-  from left to right. By default, graphs are laid out from top to bottom.
-  <P>
-  This attribute also has a side-effect in determining how record nodes
-  are interpreted. See <A HREF="shapes.html#record">record shapes</A>.
-
-<DT><A NAME=d:ranksep HREF=#a:ranksep><STRONG>ranksep</STRONG></A>
-<DD>  In dot, this gives the desired rank separation, in inches. This is
-  the minimum vertical distance between the bottom of the nodes in one
-  rank and the tops of nodes in the next. If the value
-  contains "equally", the centers of all ranks are spaced equally apart.
-  Note that both
-  settings are possible, e.g., ranksep = "1.2 equally".
-  In twopi, specifies radial separation of concentric circles.
-
-<DT><A NAME=d:ratio HREF=#a:ratio><STRONG>ratio</STRONG></A>
-<DD>  Sets the aspect ratio (drawing height/drawing width) for the drawing.
-  Note that this is adjusted before
-  the <A HREF=#d:size><B>size</B></A> attribute constraints are enforced.
-  <P>
-  If <B>ratio</B> is numeric, it is taken as the desired aspect ratio.
-  Then, if the actual aspect ratio is less than the desired ratio,
-  the drawing height is scaled up to achieve the
-  desired ratio; if the actual ratio is greater than that desired ratio,
-  the drawing width is scaled up.
-  <P>
-  If <B>ratio</B> = "fill" and the <A HREF=#d:size><B>size</B></A>
-  attribute is set, node positions are scaled, separately in both x
-  and y, so that the final drawing exactly fills the specified size.
-  <P>
-  If <B>ratio</B> = "compress" and the <A HREF=#d:size><B>size</B></A>
-  attribute is set, dot attempts to compress the initial layout to fit
-  in the given size. This achieves a tighter packing of nodes but
-  reduces the balance and symmetry. This feature only works in dot.
-  <P>
-  If <B>ratio</B> = "expand", the <A HREF=#d:size><B>size</B></A>
-  attribute is set, and both the width and the height of the graph are
-  less than the value in  <A HREF=#d:size><B>size</B></A>, node positions are scaled
-  uniformly until at least
-  one dimension fits <A HREF=#d:size><B>size</B></A> exactly.
-  Note that this is distinct from using <A HREF=#d:size><B>size</B></A> as the
-  desired size, as here the drawing is expanded before edges are generated and
-  all node and text sizes remain unchanged.
-  <P>
-  If <B>ratio</B> = "auto", the <A HREF=#d:page><B>page</B></A>
-  attribute is set and the graph cannot be drawn on a single page,
-  then <A HREF=#d:size><B>size</B></A> is set to an ``ideal'' value.
-  In particular, the size in a given dimension will be the smallest integral
-  multiple of the page size in that dimension which is at least half the
-  current size. The two dimensions are then scaled independently to the
-  new size. This feature only works in dot.
-
-<DT><A NAME=d:rects HREF=#a:rects><STRONG>rects</STRONG></A>
-<DD>  Rectangles for fields of records, <A HREF=#points>in points</A>.
-
-<DT><A NAME=d:regular HREF=#a:regular><STRONG>regular</STRONG></A>
-<DD>  If true, force polygon to be regular.
-
-<DT><A NAME=d:remincross HREF=#a:remincross><STRONG>remincross</STRONG></A>
-<DD>  If true and there are multiple clusters, run cross
-  minimization a second time.
-
-<DT><A NAME=d:repulsiveforce HREF=#a:repulsiveforce><STRONG>repulsiveforce</STRONG></A>
-<DD>  The power of the repulsive force used in an extended Fruchterman-Reingold 
-  force directed model. Values larger than 1 tend to reduce 
-  the warping effect at the expense of less clustering.
-
-<DT><A NAME=d:resolution HREF=#a:resolution><STRONG>resolution</STRONG></A>
-<DD>  This is a synonym for the <A HREF=#d:dpi>dpi</A> attribute.
-
-<DT><A NAME=d:root HREF=#a:root><STRONG>root</STRONG></A>
-<DD>  This specifies nodes to be used as the center of the
-  layout and the root of the generated spanning tree. As a graph attribute,
-  this gives the name of the node. As a node attribute (circo only), it
-  specifies that the node should be used as a central node. In twopi,
-  this will actually be the central node. In circo, the block containing
-  the node will be central in the drawing of its connected component.
-  If not defined,
-  twopi will pick a most central node, and circo will pick a random node.
-
-<DT><A NAME=d:rotate HREF=#a:rotate><STRONG>rotate</STRONG></A>
-<DD>  If 90, set drawing orientation to landscape.
-
-<DT><A NAME=d:samehead HREF=#a:samehead><STRONG>samehead</STRONG></A>
-<DD>  Edges with the same head and the same <B>samehead</B> value are aimed
-  at the same point on the head.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:sametail HREF=#a:sametail><STRONG>sametail</STRONG></A>
-<DD>  Edges with the same tail and the same <B>sametail</B> value are aimed
-  at the same point on the tail.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:samplepoints HREF=#a:samplepoints><STRONG>samplepoints</STRONG></A>
-<DD>  If the input graph defines the <A HREF=#d:vertices><B>vertices</B></A>
-  attribute, and output is dot or xdot, this gives
-  the number of points used for a node whose shape is a circle or ellipse.
-  It plays the same role in neato, when adjusting the layout to avoid
-  overlapping nodes, and in image maps.
-
-<DT><A NAME=d:searchsize HREF=#a:searchsize><STRONG>searchsize</STRONG></A>
-<DD>  During network simplex, maximum number of edges with negative cut values
-  to search when looking for one with minimum cut value.
-
-<DT><A NAME=d:sep HREF=#a:sep><STRONG>sep</STRONG></A>
-<DD>  Specifies margin to leave around nodes when removing node overlap.
-  This guarantees a minimal non-zero distance between nodes.
-  <P>
-  If the attribute begins with a plus sign '+', an additive margin is
-  specified. That is, "+w,h" causes the node's bounding box to be increased 
-  by w
-  points on the left and right sides, and by h points on the top and bottom.
-  Without a plus sign, the node is scaled by 1 + w in the x coordinate
-  and 1 + h in the y coordinate.
-  <P>
-  If only a single number is given, this is used for both dimensions.
-  <P>
-  If unset but <A HREF=#d:esep>esep</A> is defined, the <tt>sep</tt> values
-  will be set to the <tt>esep</tt> values divided by <tt>0.8</tt>. 
-  If <tt>esep</tt> is unset, the default value is used.
-
-<DT><A NAME=d:shape HREF=#a:shape><STRONG>shape</STRONG></A>
-<DD>  Set the shape of a node.
-
-<DT><A NAME=d:shapefile HREF=#a:shapefile><STRONG>shapefile</STRONG></A>
-<DD>  (Deprecated) If defined, shapefile specifies a file containing user-supplied node content.
-  The <A HREF=#d:shape><B>shape</B></A> of the node is set to box.
-  The image in the shapefile must be
-  rectangular. The image formats supported as well as the precise semantics of
-  how the file is used depends on the
-  <A HREF="http://www.graphviz.org/doc/info/output.html">output format</A>.  For further details, see
-  <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_image>External PostScript files</A>.
-  <P>
-  There is one exception to this usage.
-  If <B>shape</B> is set to "epsf", shapefile gives
-  a filename containing a definition of the node in PostScript.
-  The graphics defined must be contain all of the
-  node content, including any desired boundaries.
-  For further details, see
-  <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_ps>
-  External PostScript files</A>.
-
-<DT><A NAME=d:showboxes HREF=#a:showboxes><STRONG>showboxes</STRONG></A>
-<DD>  Print guide boxes in PostScript at the beginning of
-  routesplines if 1, or at the end if 2. (Debugging)
-
-<DT><A NAME=d:sides HREF=#a:sides><STRONG>sides</STRONG></A>
-<DD>  Number of sides if <A HREF=#d:shape><B>shape</B></A>=polygon.
-
-<DT><A NAME=d:size HREF=#a:size><STRONG>size</STRONG></A>
-<DD>  Maximum width and height of drawing, in inches.
-  If defined and the drawing is too large, the drawing is uniformly
-  scaled down so that it fits within the given size.
-  <P>
-  If <TT>size</TT> ends in an exclamation point (<TT>!</TT>),
-  then it is taken to be
-  the desired size. In this case, if both dimensions of the drawing are
-  less than <TT>size</TT>, the drawing is scaled up uniformly until at
-  least one dimension equals its dimension in <TT>size</TT>.
-  <P>
-  Note that there is some interaction between the <B>size</B> and
-  <A HREF=#d:ratio><B>ratio</B></A> attributes.
-
-<DT><A NAME=d:skew HREF=#a:skew><STRONG>skew</STRONG></A>
-<DD>  Skew factor for <A HREF=#d:shape><B>shape</B></A>=polygon. Positive values
-  skew top of polygon to right; negative to left.
-
-<DT><A NAME=d:smoothing HREF=#a:smoothing><STRONG>smoothing</STRONG></A>
-<DD>  Specifies a post-processing step used to smooth out an uneven distribution 
-  of nodes.
-
-<DT><A NAME=d:splines HREF=#a:splines><STRONG>splines</STRONG></A>
-<DD>  Controls how, and if, edges are represented. If true, edges are drawn as
-  splines routed around nodes; if false, edges are drawn as line segments.
-  If set to "", no edges are drawn at all.
-  <P>
-  (1 March 2007) The values <TT>line</TT> and <TT>spline</TT> can be
-  used as synonyms for <TT>false</TT> and <TT>true</TT>, respectively.
-  In addition, the value <TT>polyline</TT> specifies that edges should be
-  drawn as polylines.
-  <P>
-  By default, the attribute is unset. How this is interpreted depends on
-  the layout. For dot, the default is to draw edges as splines. For all
-  other layouts, the default is to draw edges as line segments. Note that
-  for these latter layouts, if <TT>splines="true"</TT>, this
-  requires non-overlapping nodes (cf. <A HREF=#d:overlap><B>overlap</B></A>).
-  If fdp is used for layout and <TT>splines="compound"</TT>, then the edges are
-  drawn to avoid clusters as well as nodes.
-
-<DT><A NAME=d:start HREF=#a:start><STRONG>start</STRONG></A>
-<DD>  Parameter used to determine the initial layout of nodes. If unset, the
-  nodes are randomly placed in a unit square with
-  the same seed is always used for the random number generator, so the
-  initial placement is repeatable.
-
-<DT><A NAME=d:style HREF=#a:style><STRONG>style</STRONG></A>
-<DD>  Set style for node or edge. For cluster subgraph, if "filled", the
-  cluster box's background is filled.
-
-<DT><A NAME=d:stylesheet HREF=#a:stylesheet><STRONG>stylesheet</STRONG></A>
-<DD>  A URL or pathname specifying an XML style sheet, used in SVG output.
-
-<DT><A NAME=d:tailURL HREF=#a:tailURL><STRONG>tailURL</STRONG></A>
-<DD>  If <B>tailURL</B> is defined, it is
-  output as part of the tail label of the edge.
-  Also, this value is used near the tail node, overriding any
-  <A HREF=#d:URL>URL</A> value.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:tailclip HREF=#a:tailclip><STRONG>tailclip</STRONG></A>
-<DD>  If true, the tail of an edge is clipped to the boundary of the tail node;
-  otherwise, the end of the edge goes to the center of the node, or the
-  center of a port, if applicable.
-
-<DT><A NAME=d:tailhref HREF=#a:tailhref><STRONG>tailhref</STRONG></A>
-<DD>  Synonym for <A HREF=#d:tailURL>tailURL</A>.
-
-<DT><A NAME=d:taillabel HREF=#a:taillabel><STRONG>taillabel</STRONG></A>
-<DD>  Text label to be placed near tail of edge.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:tailport HREF=#a:tailport><STRONG>tailport</STRONG></A>
-<DD>  Indicates where on the tail node to attach the tail of the edge.
-  See <A HREF=#h:undir_note>limitation</A>.
-
-<DT><A NAME=d:tailtarget HREF=#a:tailtarget><STRONG>tailtarget</STRONG></A>
-<DD>  If the edge has a <A HREF=#d:tailURL>tailURL</A>,
-  this attribute determines which window of the
-  browser is used
-  for the URL. Setting it to "_graphviz" will open a new window if it
-  doesn't already exist, or reuse it if it does.
-  If undefined, the value of the <A HREF=#d:target>target</A> is used.
-
-<DT><A NAME=d:tailtooltip HREF=#a:tailtooltip><STRONG>tailtooltip</STRONG></A>
-<DD>  Tooltip annotation attached to the tail of an edge. This is used only
-  if the edge has a <A HREF=#d:tailURL>tailURL</A> attribute.
-
-<DT><A NAME=d:target HREF=#a:target><STRONG>target</STRONG></A>
-<DD>  If the object has a URL, this attribute determines which window
-  of the browser is used for the URL.
-  See <A HREF="http://www.w3.org/TR/html401/present/frames.html#adef-target">W3C documentation</A>.
-
-<DT><A NAME=d:tooltip HREF=#a:tooltip><STRONG>tooltip</STRONG></A>
-<DD>  Tooltip annotation attached to the node or edge. If unset, Graphviz
-  will use the object's <A HREF=#d:label>label</A> if defined.
-  Note that if the label is a record specification or an HTML-like
-  label, the resulting tooltip may be unhelpful. In this case, if
-  tooltips will be generated, the user should set a <TT>tooltip</TT>
-  attribute explicitly.
-
-<DT><A NAME=d:truecolor HREF=#a:truecolor><STRONG>truecolor</STRONG></A>
-<DD>  If set explicitly to true or false, the value determines whether or not
-  internal bitmap rendering relies on a truecolor color model or uses
-  a color palette.
-  If the attribute is unset, truecolor is not used
-  unless there is a <A HREF=#d:shapefile>shapefile</A> property
-  for some node in the graph.
-  The output model will use the input model when possible.
-  <P>
-  Use of color palettes results in less memory usage during creation of the
-  bitmaps and smaller output files.
-  <P>
-  Usually, the only time it is necessary to specify the truetype model
-  is if the graph uses more than 256 colors.
-  However, if one uses <A HREF=#d:bgcolor>bgcolor</A>=transparent with
-  a color palette, font
-  antialiasing can show up as a fuzzy white area around characters.
-  Using <B>truecolor</B>=true avoids this problem.
-
-<DT><A NAME=d:vertices HREF=#a:vertices><STRONG>vertices</STRONG></A>
-<DD>  If the input graph defines this attribute, the node is polygonal,
-  and output is dot or xdot, this attribute provides the
-  coordinates of the vertices of the node's polygon, in inches.
-  If the node is an ellipse or circle, the
-  <A HREF=#d:samplepoints>samplepoints</A> attribute affects
-  the output.
-
-<DT><A NAME=d:viewport HREF=#a:viewport><STRONG>viewport</STRONG></A>
-<DD>  Clipping window on final drawing.
-
-<DT><A NAME=d:voro_margin HREF=#a:voro_margin><STRONG>voro_margin</STRONG></A>
-<DD>  Factor to scale up drawing to allow margin for expansion in
-  Voronoi technique. dim' = (1+2*margin)*dim.
-
-<DT><A NAME=d:weight HREF=#a:weight><STRONG>weight</STRONG></A>
-<DD>  Weight of edge. In dot, the heavier the weight, the shorter,
-  straighter and more vertical the edge is.
-
-<DT><A NAME=d:width HREF=#a:width><STRONG>width</STRONG></A>
-<DD>  Width of node, in inches. This is taken as the initial, minimum width
-  of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
-  will be the final width of the node. Otherwise, if the node label
-  requires more width to fit, the node's width will be increased to
-  contain the label. Note also that, if the output format is dot, the
-  value given to <B>width</B> will be the final value.
-
-<DT><A NAME=d:z HREF=#a:z><STRONG>z</STRONG></A>
-<DD>  <B>Deprecated:</B>Use <A HREF=#d:pos><B>pos</B></A> attribute, along
-  with <A HREF=#d:dimen><B>dimen</B></A> and/or <A HREF=#d:dim><B>dim</B></A>
-  to specify dimensions.
-  <P>
-  Provides z coordinate value for 3D layouts and displays. If the
-  graph has <A HREF=#d:dim><B>dim</B></A> set to 3 (or more),
-  neato will use a node's <B>z</B> value
-  for the z coordinate of its initial position if
-  its <A HREF=#d:pos><B>pos</B></A> attribute is also defined.
-  <P>
-  Even if no <B>z</B> values are specified in the input, it is necessary to
-  declare a <B>z</B> attribute for nodes, e.g, using <TT>node[z=""]</TT>
-  in order to get z values on output.
-  Thus, setting <TT>dim=3</TT> but not declaring <B>z</B> will
-  cause <TT>neato -Tvrml</TT> to
-  layout the graph in 3D but project the layout onto the xy-plane
-  for the rendering. If the <B>z</B> attribute is declared, the final rendering
-  will be in 3D.
-
-</DL>
-<HR>
-<H1>Attribute Type Descriptions</H1>
-The following list gives the legal strings corresponding to values of
-the given types.
-<DL>
-<DT><A NAME=k:arrowType><STRONG>arrowType</STRONG></A>
-<DD><TABLE>
-    <TR><TD>"normal"<TD><IMG SRC="a_normal.gif">
-        <TD>"inv"<TD><IMG SRC="a_inv.gif"></TR>
-    <TR><TD>"dot"<TD><IMG SRC="a_dot.gif">
-        <TD>"invdot"<TD><IMG SRC="a_invdot.gif"></TR>
-    <TR><TD>"odot"<TD><IMG SRC="a_odot.gif">
-        <TD>"invodot"<TD><IMG SRC="a_invodot.gif"></TR>
-    <TR><TD>"none"<TD><IMG SRC="a_none.gif">
-        <TD>"tee"<TD><IMG SRC="a_tee.gif"></TR>
-    <TR><TD>"empty"<TD><IMG SRC="a_empty.gif">
-        <TD>"invempty"<TD><IMG SRC="a_invempty.gif"></TR>
-    <TR><TD>"diamond"<TD><IMG SRC="a_diamond.gif">
-        <TD>"odiamond"<TD><IMG SRC="a_odiamond.gif"></TR>
-    <TR><TD>"ediamond"<TD><IMG SRC="a_ediamond.gif">
-        <TD>"crow"<TD><IMG SRC="a_crow.gif"></TR>
-    <TR><TD>"box"<TD><IMG SRC="a_box.gif">
-        <TD>"obox"<TD><IMG SRC="a_obox.gif"></TR>
-    <TR><TD>"open"<TD><IMG SRC="a_open.gif">
-        <TD>"halfopen"<TD><IMG SRC="a_halfopen.gif"></TR>
-    <TR><TD>"vee"<TD><IMG SRC="a_open.gif">
-  </TABLE>
-  <P>
-  These are the basic set of backward-compatible arrow shapes. In addition,
-  there is a grammar of <A HREF=arrows.html>arrow shapes</A>
-  which can be used to describe a collection of 1260 arrow shapes as
-  modifications of a primitive set of 9 arrows. The basic arrows shown
-  above contain all of the primitive shapes
-  (<TT>box</TT>, <TT>crow</TT>, <TT>diamond</TT>,
-  <TT>dot</TT>, <TT>inv</TT>, <TT>none</tt>,
-  <TT>normal</tt>, <TT>tee</TT>, <TT>vee</TT>)
-  plus ones that can be derived from the grammar
-  (<TT>odot</TT>, <TT>invdot</TT>, <TT>invodot</TT>,
-  <TT>obox</TT>, <TT>odiamond</TT>)
-  plus some supported as special cases for backward-compatibility
-  (<TT>ediamond</TT>, <TT>open</TT>, <TT>halfopen</TT>,
-  <TT>empty</TT>, <TT>invempty</TT>).
-
-<DT><A NAME=k:clusterMode><STRONG>clusterMode</STRONG></A>
-<DD>"local","global","none"
-
-<DT><A NAME=k:color><STRONG>color</STRONG></A>
-<DD>Colors can be specified using one of four formats.
-         <TABLE><TR><TD>"#%2x%2x%2x"<TD>Red-Green-Blue (RGB)</TR>
-         <TR><TD>"#%2x%2x%2x%2x"<TD>Red-Green-Blue-Alpha (RGBA)</TR>
-         <TR><TD>H[,&#160;]+S[,&#160;]+V<TD>Hue-Saturation-Value (HSV) 0.0 <= H,S,V <= 1.0</TR>
-         <TR><TD>string<TD><A HREF=colors.html>color name</A></TR></TABLE>
-   The specification for the RGB and RGBA formats are the format strings used by
-   <TT>sscanf</TT> to scan the color value. Thus, these values have the form
-   "#RGB" or "#RGBA", where R, G, B, and A each consist of 2 hexidecimal
-   digits, and can be separated by whitespace. HSV colors have the form of 3
-   numbers between 0 and 1, separated by whitespace or commas.
-  <P>
-  String-valued color specifications are case-insensitive and interpreted
-  in the context of the current color scheme, as specified by the
-  <A HREF=#d:colorscheme>colorscheme</A> attribute. If this is undefined,
-  the X11 naming scheme will be used.
-  An initial <TT>"/"</TT> character can be used to override the use of
-  the <TT>colorscheme</TT> attribute. In particular, a single initial
-  <TT>"/"</TT> will cause the string to be evaluated using the default
-  X11 naming. If the color value has the form <TT>"/ssss/yyyy"</TT>,
-  the name <TT>yyyy</TT> is interpreted using the schema <TT>ssss</TT>.
-  If the color scheme name is empty, i.e., the color has the
-  form <TT>"//yyyy"</TT>, the <TT>colorscheme</TT> attribute is used.
-  Thus, the forms <TT>"yyyy"</TT> and <TT>"//yyyy"</TT> are
-  equivalent.
-  <P>At present, Graphviz recognizes the default color scheme <TT>X11</TT>,
-  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
-  color schemes are covered by this <A HREF=colors.html#brewer_license>license</A>.
-  <P>
-  Examples:<BR>
-    <TABLE border=1>
-      <TR><TH>Color<TH>RGB<TH>HSV<TH>String</TR>
-      <TR><TD align=center bgcolor=#ffffff>White<TD>"#ffffff"<TD>"0.000 0.000 1.000"<TD>"white"</TR>
-      <TR><TD align=center bgcolor=#000000><font color=white>Black</font><TD>"#000000"<TD>"0.000 0.000 0.000"<TD>"black"</TR>
-      <TR><TD align=center bgcolor=#ff0000>Red<TD>"#ff0000"<TD>"0.000 1.000 1.000"<TD>"red"</TR>
-      <TR><TD align=center bgcolor=#40e0d0>Turquoise<TD>"#40e0d0"<TD>"0.482 0.714 0.878"<TD>"turquoise"</TR>
-      <TR><TD align=center bgcolor=#a0522d>Sienna<TD>"#a0522d"<TD>"0.051 0.718 0.627"<TD>"sienna"</TR>
-    </TABLE>
-  <P>
-   Note that some output formats, e.g., <A HREF="output.html#a:mif">mif</A>,
-   only support a limited number of specific colors.
-  <P>
-   The string value <TT>transparent</TT> can be used to indicate no color.
-   This is only available in the output formats
-   ps, svg, fig, vmrl, and the bitmap formats. It can be used whenever a
-   color is needed but is most useful with
-   the <A HREF=#d:bgcolor>bgcolor</A> attribute.
-   Usually, the same effect can be achieved by setting
-   <A HREF=#d:style>style</A> to <TT>invis</TT>.
-
-<DT><A NAME=k:colorList><STRONG>colorList</STRONG></A>
-<DD>A colon-separated list of color values: <I>C</I>(:<I>C</I>)*
-   where each <I>C</I> is a <A HREF=#k:color>color</A> value.
-
-<DT><A NAME=k:dirType><STRONG>dirType</STRONG></A>
-<DD>For an edge <CODE>T -> H;</CODE>
-    <TABLE>
-    <TR><TD>"forward"<TD><IMG SRC="forward.gif">
-        <TD>"back"<TD><IMG SRC="back.gif"></TR>
-    <TR><TD>"both"<TD><IMG SRC="both.gif">
-        <TD>"none"<TD><IMG SRC="nohead.gif"></TR>
-    </TABLE>
-  For undirected edges <CODE>T -- H;</CODE>, one of the nodes, usually
-  the righthand one, is treated as the head for the purpose of
-  interpreting "forward" and "back".
-
-<DT><A NAME=k:escString><STRONG>escString</STRONG></A>
-<DD>string allowing escape sequences which are replaced according
-  to the context.
-  For node attributes, the substring "\N" is replaced by the name of the node,
-  and the substring "\G" by the name of the graph.
-  For graph or cluster attributes, the substring "\G" is replaced by the
-  name of the graph or cluster.
-  For edge attributes, the substring "\E" is replaced by the name of the edge,
-  the substring "\G" is replaced by the name of the graph or cluster,
-  and the substrings "\T" and "\H" by the names of
-  the tail and head nodes, respectively.
-  The name of an edge is the string formed from the name of the
-  tail node, the appropriate edge operator ("--" or "->") and the name of the
-  head node.
-  In all cases, the substring "\L" is replaced by the object's label attribute.
-  <P>
-  In addition, if the associated attribute is
-  <A HREF=#a:label>label</A>,
-  <A HREF=#a:headlabel>headlabel</A> or <A HREF=#a:taillabel>taillabel</A>,
-  the escape sequences "\n", "\l" and "\r"
-  divide the label into lines, centered, left-justified, and right-justified,
-  respectively.
-
-<DT><A NAME=k:layerList><STRONG>layerList</STRONG></A>
-<DD>list of strings separated by characters from the
-  <A HREF=#a:layersep>layersep</A> attribute (by default, colons,
-  tabs or spaces), defining <A HREF=#a:layer>layer</A>
-  names and implicitly numbered 1,2,...
-
-<DT><A NAME=k:layerRange><STRONG>layerRange</STRONG></A>
-<DD>layerId or layerId<B>s</B>layerId,<BR> where layerId = "all",
-  a decimal integer or a <A HREF=#a:layer>layer</A> name.
-  (An integer i corresponds to layer i.)
-  The string <B>s</B> consists of 1 or more separator characters specified
-  by the <A HREF=#a:layersep>layersep</A> attribute.
-
-<DT><A NAME=k:lblString><STRONG>lblString</STRONG></A>
-<DD>an <A HREF=#k:escString>escString</A>
-  or an <A HREF=shapes.html#html>HTML label</A>.
-
-<DT><A NAME=k:outputMode><STRONG>outputMode</STRONG></A>
-<DD>"breadthfirst","nodesfirst","edgesfirst"
-  These specify the order in which nodes and edges are drawn in concrete
-  output. The default "breadthfirst" is the simplest, but when the graph
-  layout does not avoid edge-node overlap, this mode will sometimes have
-  edges drawn over nodes and sometimes on top of nodes. If the mode
-  "nodesfirst" is chosen, all nodes are drawn first, followed by the
-  edges. This guarantees an edge-node overlap will not be mistaken for
-  an edge ending at a node. On the other hand, usually for aesthetic
-  reasons, it may be desirable that all edges appear beneath nodes, even
-  if the resulting drawing is ambiguous. This can be achieved by choosing
-  "edgesfirst".
-
-<DT><A NAME=k:packMode><STRONG>packMode</STRONG></A>
-<DD>"node","clust","graph"
-  These specify the granularity of packing connected components when
-  the <A HREF=#d:pack>pack</A> attribute is true. A value of "node" causes
-  packing at the node and edge label, with no overlapping of these objects.
-  This produces a layout with the least area, but it also allows interleaving,
-  where a node of one component may lie between two nodes in another
-  component. A value of "graph" does a packing using the bounding box of the
-  component. Thus, there will be a rectangular region around a component
-  free of elements of any other component.
-  A value of "clust" guarantees that top-level clusters are kept intact.
-  What effect a value has also depends on the layout algorithm. For
-  example, neato does not support clusters, so a value of "clust" will
-  have the same effect as the default "node" value.
-
-<DT><A NAME=k:pagedir><STRONG>pagedir</STRONG></A>
-<DD>"BL", "BR", "TL", "TR", "RB", "RT", "LB", "LT".
-  These specify the 8 row or column major orders for traversing a
-  rectangular array, the first character corresponding to the major
-  order and the second to the minor order. Thus, for "BL", the
-  major order is from bottom to top, and the minor order is from left
-  to right. This means the bottom row is traversed first, from left
-  to right, then the next row up, from left to right, and so on,
-  until the topmost row is traversed.
-
-<DT><A NAME=k:point><STRONG>point</STRONG></A>
-<DD>"%f,%f"('!') representing the point (x,y). The
-  optional '!' indicates the
-  node position should not change (input-only).
-  <P>
-  If <A HREF=#d:dim>dim</A> is 3 or more, <B>point</B> may also have
-  the format "%f,%f,%f"('!') to represent the point (x,y,z).
-
-<DT><A NAME=k:pointf><STRONG>pointf</STRONG></A>
-<DD>"%lf,%lf" representing the point (x,y).
-
-<DT><A NAME=k:pointfList><STRONG>pointfList</STRONG></A>
-<DD>list of pointf, separated by spaces.
-
-<DT><A NAME=k:portPos><STRONG>portPos</STRONG></A>
-<DD>modifier indicating where on a node an edge should be aimed.
-  It has the form <TT><I>portname</I>[:<I>compass_point</I>]</TT>
-  or <TT><I>compass_point</I></TT>.
-  If the first form is used, the corresponding node must either have
-  <A HREF=shapes.html#record>record</A> shape with one of its fields
-  having the given <I>portname</I>,
-  or have an <A HREF=shapes.html#html>HTML-like label</A>, one of
-  whose components has a <TT>PORT</TT> attribute set to <I>portname</I>.
-  <P>
-  If a compass point is used, it must have the form
-  <TT>"n","ne","e","se","s","sw","w","nw","c","_"</TT>. This modifies the edge
-  placement to aim for the corresponding compass point on the port or,
-  in the second form where no <I>portname</I> is supplied, on the node
-  itself. The compass point "c" specifies the center of the node or port.
-  The compass point "_" specifies that an appropriate side of the port
-  adjacent to the exterior of the node should be used, if such exists.
-  Otherwise, the center is used.
-  If no compass point is used with a portname, the default value is "_".
-  <P>
-  <P>
-  This attribute can be attached to an edge using the
-  <A HREF=#k:headport>headport</A> and
-  <A HREF=#k:tailport>tailport</A> attributes, or as part of the
-  edge description as in
-  <CENTER>
-  <TT>node1:port1 -> node2:port5:nw;</TT>
-  </CENTER>
-  <P>
-  Note that it is legal to have a portname the same as one of
-  the compass points. In this case, this reference will be resolved to
-  the port. Thus, if node <TT>A</TT> has a port <TT>w</TT>, then
-  <TT>headport=w</TT> will refer to the port and not the compass point.
-  At present, in this case, there is no way to specify that the compass
-  point should be used.
-
-<DT><A NAME=k:quadType><STRONG>quadType</STRONG></A>
-<DD>"normal", "fast", "none". 
-  <P>
-  Using "fast" gives about a 2-4 times overall speedup compared with "normal", 
-  though layout quality can suffer a little. 
-
-<DT><A NAME=k:rankType><STRONG>rankType</STRONG></A>
-<DD>"same", "min", "source", "max", "sink"
-
-<DT><A NAME=k:rankdir><STRONG>rankdir</STRONG></A>
-<DD>"TB", "LR", "BT", "RL", corresponding to directed graphs drawn
-  from top to bottom, from left to right, from bottom to top, and from
-  right to left, respectively.
-
-<DT><A NAME=k:rect><STRONG>rect</STRONG></A>
-<DD>"%d,%d,%d,%d"  The rect llx,lly,urx,ury gives the coordinates, in
-   points, of the lower-left corner (llx,lly) and the upper-right corner
-   (urx,ury).
-
-<DT><A NAME=k:shape><STRONG>shape</STRONG></A>
-<DD>A string specifying the <A HREF=shapes.html>shape</A> of a node.
-  There are three
-  main types of shapes :
-  <A HREF=shapes.html#polygon>polygon-based</A>,
-  <A HREF=shapes.html#record>record-based</A> and
-  <A HREF=shapes.html#epsf>user-defined</A>.
-
-<DT><A NAME=k:smoothType><STRONG>smoothType</STRONG></A>
-<DD>Values are "none", "avg_dist", "graph_dist", "power_dist", "rng", 
-  "spring" and "triangle".
-
-<DT><A NAME=k:splineType><STRONG>splineType</STRONG></A>
-<DD>spline ( ';' spline )*<BR>
-  <TABLE>
-   <TR><TD ALIGN=right>where spline<TD>=<TD>(endp)? (startp)? point (triple)+</TR>
-   <TR><TD ALIGN=right>and triple<TD>=<TD>point point point</TR>
-   <TR><TD ALIGN=right>and endp<TD>=<TD>"e,%d,%d"</TR>
-   <TR><TD ALIGN=right>and startp<TD>=<TD>"s,%d,%d"</TR>
-  </TABLE>
-  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
-   correspond to the control points of a B-spline from p<SUB>1</SUB> to p<SUB>n</SUB>. If startp
-   is given, it touches one node of the edge, and the arrowhead
-   goes from p<SUB>1</SUB> to startp. If startp is not given, p<SUB>1</SUB> touches a node.
-   Similarly for p<SUB>n</SUB>  and endp.
-
-<DT><A NAME=k:startType><STRONG>startType</STRONG></A>
-<DD>has the syntax <TT>[<I>style</I>][<I>seed</I>]</TT>.
-  <P>
-  If <I>style</I> is present, it must be one of the strings <TT>"regular"</TT>,
-  <TT>"self"</TT>, or <TT>"random"</TT>. In the first case, the nodes are
-  placed regularly about a circle. In the second case,
-  an abbreviated version of neato is run to obtain the initial layout.
-  In the last case, the nodes are placed randomly in a unit square.
-  <P>
-  If <I>seed</I> is present, it specifies a seed for the random number
-  generator. If <I>seed</I> is a positive number, this is used as the
-  seed. If it is anything else,
-  the current time, and possibly the process id, is used to pick a seed,
-  thereby making the choice more random. In this case, the seed value
-  is stored in the graph.
-  <P>
-  If the value is just <TT>"random"</TT>, a time-based seed is chosen.
-  <P>
-  Note that input positions, specified by a node's
-  <A HREF=#d:pos>pos</A>
-  attribute, are only used when the style is <TT>"random"</TT>.
-
-<DT><A NAME=k:style><STRONG>style</STRONG></A>
-<DD>styleItem ( ',' styleItem )*<BR>
-  <TABLE>
-  <TR><TD ALIGN=right>where styleItem<TD>=<TD>name or name'('args')'</TR>
-  <TR><TD ALIGN=right>and args<TD>=<TD>name ( ',' name )*</TR>
-  <TR><TD ALIGN=right>and name<TD>=<TD>[^)(, &nbsp;][^)(,]*</TR>
-  </TABLE>
-  Note that whitespace characters are ignored, except for names which
-  can contain them. A
-  name cannot contain any comma, or left or right parenthesis, and it cannot
-  begin with a whitespace character.
-  <P>
-  At present, the recognized style names are
-  "dashed", "dotted", "solid", "invis" and "bold" for nodes and edges,
-  and "filled", "diagonals" and "rounded" for nodes only.
-  The styles "filled" and "rounded" are recognized for clusters.
-  Additional styles are available in
-  device-dependent form. Style lists are passed to device drivers, which
-  can use this to generate appropriate output.
-  <P>
-  The <TT>setlinewidth</TT> style value can be
-  used for more control over the width of node borders and edges than is
-  allowed by <TT>bold</TT>. This style value takes an argument, specifying the
-  width of the line in <A HREF=#points>points</A>. For example, <TT>style="bold"</TT> is
-  equivalent to <TT>style="setlinewidth(2)"</TT>.
-  <B>The use of <TT>setlinewidth</TT> is deprecated; one should use the
-  <A HREF=#d:penwidth><TT>penwidth</TT></A> attribute instead.</B>
-
-<DT><A NAME=k:viewPort><STRONG>viewPort</STRONG></A>
-<DD>"%lf,%lf,%lf,%lf,%lf" or  "%lf,%lf,%lf,'%s'"
-  <P>
-  The viewPort <TT>W,H,Z,x,y</TT> or <TT>W,H,Z,N</TT>
-  specifies a viewport for the final image. The pair (W,H) gives the
-  dimensions (width and height) of the final image, in
-  <A HREF=#points>points</A>.
-  The optional Z is the zoom factor, i.e., the image in the original layout will be
-  W/Z by H/Z points in size. By default, Z is 1.
-  The optional last part is either a pair (x,y) giving a position in the original layout of the
-  graph, in
-  <A HREF=#points>points</A>, of the center of the viewport, or the name N
-  of a node whose center should used as the focus.
-  By default, the focus is the center of the graph bounding box, i.e.,
-  (bbx/2,bby/2), where "bbx,bby" is the
-  value of the bounding box attribute <A HREF=#a:bb>bb</A>.
-  <P>
-  Sample values: <TT>50,50,.5,'2.8 BSD'</T> or <TT>100,100,2,450,300</TT>.
-  The first will take the 100x100 point square centered on the node <TT>2.8 BSD</TT>
-  and scale it down by 0.5, yielding a 50x50 point final image.
-
-</DL>
-</BODY>
-</HTML>
index f6f4e2f4245251ffd1a45b6ba02a0f9185be1cc2..002162f5ebcdba4a0079a26464ef1886f94ca896 100644 (file)
Binary files a/doc/info/colorlist.gif and b/doc/info/colorlist.gif differ
index 04ee7c3ec6f6e750dd616ebaea69e2d38843d692..40707ec4245e6469572b0331307ca3a8bee2ece4 100644 (file)
Binary files a/doc/info/constraint.gif and b/doc/info/constraint.gif differ
index 0a0c6a6fbf2f917eb674fb0d219d6a3754ff78ef..6daeeca97522bff0eb5a5272b5f948e1ebe47d83 100644 (file)
Binary files a/doc/info/fill.gif and b/doc/info/fill.gif differ
index 6eae64582765c038e4e2084bbbee049bdf0f502a..40c8c422064fddf1cf65d31ebd0d60ac558df562 100644 (file)
Binary files a/doc/info/html1.gif and b/doc/info/html1.gif differ
index b83b02065defdd5dd09e72554a4de8cef0038e85..24b859b34da93e6d1c1ea6324bb000dfce28751d 100644 (file)
Binary files a/doc/info/html2.gif and b/doc/info/html2.gif differ
index 365ae859dd1dd25715cb501d90255c1703c82c22..df9c1b2df11a7ae08564c7eee012389ff78a3893 100644 (file)
Binary files a/doc/info/html3.gif and b/doc/info/html3.gif differ
index f158e3440c4f6ee8e432cf83c6c86ca4c5406496..aafe3449e624806ab76dac835baaf8e9083df1dd 100644 (file)
Binary files a/doc/info/html4.gif and b/doc/info/html4.gif differ
index 4b4d8b4355b4796ff52db094e249eb9e9ac4f6f0..7a7c3d626cb5204a378bc6c901b5e2e32e6f64e5 100644 (file)
Binary files a/doc/info/mrecord.gif and b/doc/info/mrecord.gif differ
index 3d70540ee4326cee2dc80665e18d9107a5237df9..7d9aee0fd30fcfa68d9585ea5f09db34e5af6a5a 100644 (file)
Binary files a/doc/info/none.gif and b/doc/info/none.gif differ
index 01358fb0daa5d1ba79a81434f396b500b565b4c1..0861436f9ad4135c27bb0333e579db6d288527fe 100644 (file)
@@ -30,522 +30,3 @@ Thus, positions in the
 <A HREF=#d:plain-ext>plain-ext</A>
 formats need to be interpreted in this manner.
 <P>
-<TABLE ALIGN=CENTER>
-<TR><TH>Command-line<BR>parameter</TH><TH>Format</TH></TR>
- <TR><TD ALIGN=CENTER><A NAME=a:bmp HREF=#d:bmp>bmp</A>
-</TD><TD>Windows Bitmap Format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:canon HREF=#d:canon>canon</A>
-<BR><A NAME=a:dot HREF=#d:dot>dot</A>
-<BR><A NAME=a:xdot HREF=#d:xdot>xdot</A>
-</TD><TD>DOT</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:cmap HREF=#d:cmap>cmap</A>
-</TD><TD>Client-side imagemap (deprecated)</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:dia HREF=#d:dia>dia</A>
-</TD><TD>Dia format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:eps HREF=#d:eps>eps</A>
-</TD><TD>Encapsulated PostScript</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:fig HREF=#d:fig>fig</A>
-</TD><TD>FIG</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:gd HREF=#d:gd>gd</A>
-<BR><A NAME=a:gd2 HREF=#d:gd2>gd2</A>
-</TD><TD>GD/GD2 formats</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:gif HREF=#d:gif>gif</A>
-</TD><TD>GIF</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:gtk HREF=#d:gtk>gtk</A>
-</TD><TD>GTK canvas</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:hpgl HREF=#d:hpgl>hpgl</A>
-</TD><TD>HP-GL/2</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:ico HREF=#d:ico>ico</A>
-</TD><TD>Icon Image File Format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:imap HREF=#d:imap>imap</A>
-<BR><A NAME=a:cmapx HREF=#d:cmapx>cmapx</A>
-</TD><TD>Server-side and client-side imagemaps</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:imap_np HREF=#d:imap_np>imap_np</A>
-<BR><A NAME=a:cmapx_np HREF=#d:cmapx_np>cmapx_np</A>
-</TD><TD>Server-side and client-side imagemaps</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:ismap HREF=#d:ismap>ismap</A>
-</TD><TD>Server-side imagemap (deprecated)</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:jpg HREF=#d:jpg>jpg</A>
-<BR><A NAME=a:jpeg HREF=#d:jpeg>jpeg</A>
-<BR><A NAME=a:jpe HREF=#d:jpe>jpe</A>
-</TD><TD>JPEG</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:mif HREF=#d:mif>mif</A>
-</TD><TD>FrameMaker MIF format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:mp HREF=#d:mp>mp</A>
-</TD><TD>MetaPost</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:pcl HREF=#d:pcl>pcl</A>
-</TD><TD>PCL</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:pdf HREF=#d:pdf>pdf</A>
-</TD><TD>Portable Document Format (PDF)</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:pic HREF=#d:pic>pic</A>
-</TD><TD>PIC</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:plain HREF=#d:plain>plain</A>
-<BR><A NAME=a:plain-ext HREF=#d:plain-ext>plain-ext</A>
-</TD><TD>Simple text format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:png HREF=#d:png>png</A>
-</TD><TD>Portable Network Graphics format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:ps HREF=#d:ps>ps</A>
-</TD><TD>PostScript</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:ps2 HREF=#d:ps2>ps2</A>
-</TD><TD>PostScript for PDF</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:svg HREF=#d:svg>svg</A>
-<BR><A NAME=a:svgz HREF=#d:svgz>svgz</A>
-</TD><TD>Scalable Vector Graphics</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:tga HREF=#d:tga>tga</A>
-</TD><TD>Truevision Targa Format (TGA)</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:tif HREF=#d:tif>tif</A>
-<BR><A NAME=a:tiff HREF=#d:tiff>tiff</A>
-</TD><TD>TIFF (Tag Image File Format)</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:vml HREF=#d:vml>vml</A>
-<BR><A NAME=a:vmlz HREF=#d:vmlz>vmlz</A>
-</TD><TD>Vector Markup Language (VML)</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:vrml HREF=#d:vrml>vrml</A>
-</TD><TD>VRML</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:vtx HREF=#d:vtx>vtx</A>
-</TD><TD>Visual Thought format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:wbmp HREF=#d:wbmp>wbmp</A>
-</TD><TD>Wireless BitMap format</TD> </TR>
- <TR><TD ALIGN=CENTER><A NAME=a:xlib HREF=#d:xlib>xlib</A>
-</TD><TD>Xlib canvas</TD> </TR>
-</TABLE>
-<HR>
-<H2>Format Descriptions</H2>
-<DL>
-<DT><A NAME=d:bmp HREF=#a:bmp><STRONG>bmp</STRONG></A>
-<DD>Outputs images in the Windows <A HREF="http://en.wikipedia.org/wiki/Bitmap">BMP</A> format.
-
-<DT><A NAME=d:canon HREF=#a:canon><STRONG>canon</STRONG></A>
-,<DT><A NAME=d:dot HREF=#a:dot><STRONG>dot</STRONG></A>
-,<DT><A NAME=d:xdot HREF=#a:xdot><STRONG>xdot</STRONG></A>
-<DD>These formats produce output in the
-<A HREF=lang.html>dot language</A>.
-Using <B>canon</B> produces a prettyprinted version of the input,
-with no layout performed.
-<P>
-The <B>dot</B> option corresponds to attributed dot output,
-and is the default output format.
-It reproduces the input, along with layout information for the graph.
-In particular, a <A HREF=attrs.html#d:bb>bb</A> attribute is
-attached to the graph, specifying the bounding box of the drawing.
-If the graph has a label, its position is specified by the
-<A HREF=attrs.html#d:lp>lp</A> attribute.
-<P>
-Each node gets <A HREF=attrs.html#d:pos>pos</A>,
-<A HREF=attrs.html#d:width>width</A> and
-<A HREF=attrs.html#d:height>height</A> attributes. If the node is a record,
-the record rectangles are given in the
-<A HREF=attrs.html#d:rects>rects</A> attribute.
-If the node is a polygon and the
-<A HREF=attrs.html#d:vertices>vertices</A> attribute is defined, this
-attribute contains the vertices of the node.
-<P>
-Every edge is
-assigned a <A HREF=attrs.html#d:pos>pos</A> attribute,
-and if the edge has a label, the label position
-is given in <A HREF=attrs.html#d:lp>lp</A>.
-<P>
-The <B>xdot</B> format extends the
-<B>dot</B> format by providing much more detailed information about
-how graph components are drawn. It relies on additional attributes
-for nodes, edges and graphs.
-<P>
-The format is preliminary; comments and
-suggestions for better representations are welcome.
-To allow for changes in the format, Graphviz attaches the attribute
-<TT>xdotversion</TT> to the graph.
-<P>
-At present, additional drawing attributes are only attached to nodes
-and edges. There are six new attributes:
-<SPACER TYPE=VERTICAL size=10>
-<TABLE  border bgcolor=beige>
-<TR><TD>_draw_<TD colspan=2>Drawing operations
-<TR><TD>_ldraw_<TD colspan=2>Label drawing
-<TR><TD>_hdraw_<TD>Head arrowhead<TD>Edge only
-<TR><TD>_tdraw_<TD>Tail arrowhead<TD>Edge only
-<TR><TD>_hldraw_<TD>Head label<TD>Edge only
-<TR><TD>_tldraw_<TD>Tail label<TD>Edge only
-</TABLE>
-<P>
-The value of these attributes consists of the concatenation of some
-(multi-)set of the following 12 rendering or attribute operations.
-(The number is parentheses gives the xdot version when the operation
-was added to the format. If no version number is given, the operation
-was in the original specification.)
-<SPACER TYPE=VERTICAL size=10>
-<TABLE border bgcolor=beige>
-<TR><TD>E x<sub>0</sub> y<sub>0</sub> w h
-<TD>Filled ellipse ((x-x<sub>0</sub>)/w)<sup>2</sup> + ((y-y<sub>0</sub>)/h)<sup>2</sup> = 1
-<TR><TD>e x<sub>0</sub> y<sub>0</sub> w h
-<TD>Unfilled ellipse ((x-x<sub>0</sub>)/w)<sup>2</sup> + ((y-y<sub>0</sub>)/h)<sup>2</sup> = 1
-<TR><TD>P n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
-<TD>Filled polygon using the given n points
-<TR><TD>p n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
-<TD>Unfilled polygon using the given n points
-<TR><TD>L n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
-<TD>Polyline using the given n points
-<TR><TD>B n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
-<TD>B-spline using the given n control points
-<TR><TD>b n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
-<TD>Filled B-spline using the given n control points (1.1)
-<TR><TD>T x y j w n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
-<TD>Text drawn using the baseline point (x,y). The text consists of the
-n characters following '-'. The text should be left-aligned (centered,
-right-aligned) on the point if j is -1 (0, 1), respectively. The value
-w gives the width of the text as computed by the library.
-<TR><TD>C n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
-<TD>Set fill color. The color value consists of the
-n characters following '-'. (1.1)
-<TR><TD>c n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
-<TD>Set pen color. The color value consists of the
-n characters following '-'. (1.1)
-<TR><TD>F s n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
-<TD>Set font. The font size is s points. The font name consists of the
-n characters following '-'. (1.1)
-<TR><TD>S n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
-<TD>Set style attribute. The style value consists of the
-n characters following '-'. The syntax of the value is the same as
-specified for a <B>styleItem</B> in <A HREF=attrs.html#k:style>style</A>. (1.1)
-<TR><TD>I x y w h n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
-<TD>Externally-specified image drawn in the box with lower left
-corner (x,y) and upper right corner (x+w,y+h). The name of the image
-consists of the n characters following '-'. This is usually a bitmap
-image. Note that the image size, even when converted from pixels to
-points, might be different from the required size (w,h). It is
-assumed the renderer will perform the necessary scaling. (1.2)
-</TABLE>
-<SPACER TYPE=VERTICAL size=10>
-In handling alignment, the application may want to recompute the
-string width using its own rendering primitives.
-<P>
-The text operation is only used in the label attributes. Normally,
-the non-text operations are only used in the non-label attributes.
-If, however, the <A HREF=attrs.html#d:decorate>decorate</A>
-attribute is set on an edge, its label
-attribute will also contain a polyline operation.
-In addition, if a label is a complex, HTML-like label, it will also
-contain non-text operations.
-<P>
-All coordinates and sizes are in points.
-Note though that if
-an edge or node is invisible, no drawing operations are attached to it.
-<P>
-Version info:
-<TABLE  border >
-<TR><TH>Xdot version</TH><TH>Graphviz version</TH></TR>
-<TR><TD>1.0</TD><TD>1.9</TD></TR>
-<TR><TD>1.1</TD><TD>2.8</TD></TR>
-<TR><TD>1.2</TD><TD>2.13</TD></TR>
-</TABLE>
-
-<DT><A NAME=d:cmap HREF=#a:cmap><STRONG>cmap</STRONG></A>
-<DD>Produces map files for client-side image maps. The cmap format is
-mostly identical to cmapx, but the latter is well-formed XML amenable
-to processing by XML tools. In particular, the cmapx output is wrapped in
-&lt;map&gt;&lt;/map&gt;.
-<P>
-See <A HREF=#ID>Note</A>.
-
-<DT><A NAME=d:dia HREF=#a:dia><STRONG>dia</STRONG></A>
-<DD>Produces <A HREF="http://www.gnome.org/projects/dia/">Dia</A> output.
-
-<DT><A NAME=d:eps HREF=#a:eps><STRONG>eps</STRONG></A>
-<DD>Produces Encapsulated PostScript output.
-At present, this is only guaranteed to be correct for a single
-input graph since the Bounding Box information has to appear
-at the beginning of the output, and this will be based on the first graph.
-
-<DT><A NAME=d:fig HREF=#a:fig><STRONG>fig</STRONG></A>
-<DD>Outputs graphs in the FIG graphics language.
-
-<DT><A NAME=d:gd HREF=#a:gd><STRONG>gd</STRONG></A>
-,<DT><A NAME=d:gd2 HREF=#a:gd2><STRONG>gd2</STRONG></A>
-<DD>Output images in the GD and GD2 format. These are the internal
-formats used by the gd library. The latter is compressed.
-
-<DT><A NAME=d:gif HREF=#a:gif><STRONG>gif</STRONG></A>
-<DD>Outputs GIF bitmap images.
-
-<DT><A NAME=d:gtk HREF=#a:gtk><STRONG>gtk</STRONG></A>
-<DD>Creates a <A HREF="http://www.gtk.org/">GTK</A> window and displays the output there.
-
-<DT><A NAME=d:hpgl HREF=#a:hpgl><STRONG>hpgl</STRONG></A>
-<DD>Produces output in the HP-GL/2 vector graphic printer language.
-
-<DT><A NAME=d:ico HREF=#a:ico><STRONG>ico</STRONG></A>
-<DD>Outputs images in the Windows <A HREF="http://en.wikipedia.org/wiki/ICO_(icon_image_file_format)">ICO format</A>.
-
-<DT><A NAME=d:imap HREF=#a:imap><STRONG>imap</STRONG></A>
-,<DT><A NAME=d:cmapx HREF=#a:cmapx><STRONG>cmapx</STRONG></A>
-<DD>Produces map files for server-side and client-side image maps,
-These can be used in a web page with
-a graphical form of the output, e.g. in JPEG or GIF format, to attach
-links to nodes and edges. For example, to create a server-side map
-given the dot file
-<PRE>
-/* x.dot */
-digraph mainmap {
-  URL="http://www.research.att.com/base.html";
-  command [URL="http://www.research.att.com/command.html"];
-  command -> output [URL="colors.html"];
-}
-</PRE>
-one would process the graph and generate two output files:
-<PRE>
-dot -Timap -ox.map -Tgif -ox.gif x.dot
-</PRE>
-and then refer to it in a web page:
-<XMP>
-<A HREF="x.map"><IMG SRC="x.gif" ismap="ismap" /></A>
-</XMP>
-For client-side maps, one again generates two output files:
-<PRE>
-dot -Tcmapx -ox.map -Tgif -ox.gif x.dot
-</PRE>
-and uses the HTML
-<XMP>
-<IMG SRC="x.gif" USEMAP="#mainmap" />
-... [content of x.map] ...
-</XMP>
-<A HREF=attrs.html#d:URL>URLs</A> can be attached to the root
-graph, nodes and edges. If a node has a URL, clicking in the node
-will activate the link.
-If an edge has a URL, various
-points along the edge (but not necessarily the head or tail)
-will link to it. In addition, if the edge has a
-<A HREF=attrs.html#d:label>label</A>, that will link
-to the URL.
-As for the head of the edge, this is linked to the
-<A HREF=attrs.html#d:headURL>headURL</A>, if set.
-Otherwise, it is linked to the edge's URL if that is defined.
-The analogous description holds for the tail and the
-<A HREF=attrs.html#d:tailURL>tailURL</A>.
-A URL associated with the graph is used as a default link.
-<P>
-If the URL
-of a node contains the escape sequence "\N", it will be replaced by
-the node's name.
-If the headURL is defined and contains the escape sequence "\N",
-it will be replaced by
-the <A HREF=attrs.html#d:headlabel>headlabel</A>, if defined.
-The analogous result holds for the tailURL and the
-<A HREF=attrs.html#d:taillabel>taillabel</A>.
-<P>
-See <A HREF=#ID>Note</A>.
-
-<DT><A NAME=d:imap_np HREF=#a:imap_np><STRONG>imap_np</STRONG></A>
-,<DT><A NAME=d:cmapx_np HREF=#a:cmapx_np><STRONG>cmapx_np</STRONG></A>
-<DD>These are identical to the imap and cmapx formats, except they
-rely solely on rectangles as active areas.
-
-<DT><A NAME=d:ismap HREF=#a:ismap><STRONG>ismap</STRONG></A>
-<DD>Produces HTML image map files. This is a predecessor (circa 1994)
-of the IMAP format.  Most servers now use the latter.
-<A HREF=attrs.html#d:URL>URLs</A> can be attached to the root graph,
-nodes and edges. Since edge
-links are attached to edge labels, an edge must
-have a <A HREF=attrs.html#d:label>label</A> for its
-URL to be used. For both nodes and edges, if the URL has the escape
-sequence "\N" embedded in its string, this will be replaced with the
-node or edge name.
-
-<DT><A NAME=d:jpg HREF=#a:jpg><STRONG>jpg</STRONG></A>
-,<DT><A NAME=d:jpeg HREF=#a:jpeg><STRONG>jpeg</STRONG></A>
-,<DT><A NAME=d:jpe HREF=#a:jpe><STRONG>jpe</STRONG></A>
-<DD>Output JPEG compressed image files.
-
-<DT><A NAME=d:mif HREF=#a:mif><STRONG>mif</STRONG></A>
-<DD>Generates Frame Maker MIF files.
-
-<DT><A NAME=d:mp HREF=#a:mp><STRONG>mp</STRONG></A>
-<DD>Produces <A HREF="http://cm.bell-labs.com/who/hobby/MetaPost.html">MetaPost</A> output.
-
-<DT><A NAME=d:pcl HREF=#a:pcl><STRONG>pcl</STRONG></A>
-<DD>Produces output in the PCL printer language.
-<A HREF=#d:hpgl>HP-GL</A> is a subset of
-PCL, so that PCL output is the same as HP-GL, wrapped with some initial
-and final commands to set the printer to and from HP-GL mode.
-
-<DT><A NAME=d:pdf HREF=#a:pdf><STRONG>pdf</STRONG></A>
-<DD>Produces <A HREF="http://www.adobe.com/devnet/pdf/">PDF</A> output.
-(This option assumes Graphviz includes the Cairo renderer.)
-Alternatively, one can use the <A HREF="#d:ps2">ps2</A> option to
-produce PDF-compatible PostScript, and then use a ps-to-pdf converter.
-<P>
-Note: At present, this option does not support anchors, etc. To get these
-included in your PDF output, use <A HREF="#d:ps2">ps2</A>.
-
-<DT><A NAME=d:pic HREF=#a:pic><STRONG>pic</STRONG></A>
-<DD>Outputs in PIC, the picture description language in the troff-family
-
-<DT><A NAME=d:plain HREF=#a:plain><STRONG>plain</STRONG></A>
-,<DT><A NAME=d:plain-ext HREF=#a:plain-ext><STRONG>plain-ext</STRONG></A>
-<DD>The plain and plain-ext formats produce output using
-a simple, line-based language.
-The latter format differs in that, on edges, it provides port names
-on head and tail nodes when applicable.
-<P>
-There are four types of statements.
-<PRE>
- <STRONG>graph</STRONG> <I>scale</I> <I>width</I> <I>height</I>
- <STRONG>node</STRONG> <I>name</I> <I>x</I> <I>y</I> <I>width</I> <I>height</I> <I>label</I> <I>style</I> <I>shape</I> <I>color</I> <I>fillcolor</I>
- <STRONG>edge</STRONG> <I>tail</I> <I>head</I> <I>n</I> <I>x<sub>1</sub></I> <I>y<sub>1</sub></I> .. <I>x<sub>n</sub></I> <I>y<sub>n</sub></I> [<I>label</I> <I>xl</I> <I>yl</I>] <I>style</I> <I>color</I>
- <STRONG>stop</STRONG>
-</PRE>
-<DL>
-<DT><STRONG>graph</STRONG>
-<DD>The <I>width</I> and <I>height</I> values give the width and height
-of the drawing. The lower left corner of the drawing is at the origin.
-The <I>scale</I> value indicates how the drawing should be scaled
-if a <A HREF=attrs.html#d:size>size</A> attribute was given and the drawing
-needs to be scaled to conform to that size. If no scaling is necessary,
-it will be set to 1.0. Note that all graph, node and edge
-coordinates and lengths are given unscaled.
-<DT><STRONG>node</STRONG>
-<DD>The <I>name</I> value is the name of the node, and <I>x</I> and <I>y</I>
-give the node's position. The <I>width</I> and <I>height</I> are the
-width and height of the node.
-The <I>label</I>,
-<I>style</I>, <I>shape</I>, <I>color</I> and <I>fillcolor</I> give the
-node's <A HREF=attrs.html#d:label>label</A>,
-<A HREF=attrs.html#d:style>style</A>, <A HREF=attrs.html#d:shape>shape</A>,
-<A HREF=attrs.html#d:color>color</A> and
-<A HREF=attrs.html#d:fillcolor>fillcolor</A>,
-respectively, using attribute default values where necessary. If the
-node does not have a style attribute, "solid" is used.
-<DT><STRONG>edge</STRONG>
-<DD>The <I>tail</I> and <I>head</I> values give the names of the head and
-tail nodes. In plain-ext format, the head or tail name will be appended
-with a colon and a portname if the edge connects to the node at a port.
-<I>n</I> is the number of control points defining the
-B-spline forming the edge. This is followed by 2*<I>n</I> numbers giving
-the x and y coordinates of the control points in order from tail to head.
-If the edge has a <A HREF=attrs.html#d:label>label</A>, this comes next
-followed by the x and y coordinates of the label's position.
-The edge description is completed by the edge's
-<A HREF=attrs.html#d:style>style</A> and <A HREF=attrs.html#d:color>color</A>.
-As with nodes, if a style is not defined, "solid" is used.
-<P>
-<B>Note:</B> The control points given in an edge statement define the
-body of the edge. In particular, if the edge has an arrowhead to the
-head or tail node,
-there will be a gap between the last or first control points and the
-boundary of the associated node. There are at least 3 possible ways
-of handling this gap:
-<UL>
-<LI> Arrange that the input graph uses <TT>dir=none</TT>,
-<TT>arrowhead=none</TT>, or <TT>arrowtail=none</TT> for all edges.
-In this case, the terminating control points will always touch the node.
-<LI> Consider the line segment joining the control point and the center
-of the node, and determine the point where the segment intersects the
-node's boundary. Then use the control point and the intersection point
-as the main axis of an arrowhead. The problem with this approach is
-that, if the edge has a port, the edge will not be pointing to the
-center of the node. In this case, rather than use the control point
-and center point, one can use the control point and its tangent.
-<LI> Arrange that the input graph uses <TT>headclip=false</TT> or
-<TT>tailclip=false</TT>. In this case, the edge will terminate at
-the node's center rather than its boundary. If arrowheads are used,
-there will still be a gap, but normally this will occur within the
-node. The application will still need to clip the spline to the node
-boundary. Also, as with the previous item, if the edge points to
-a node port, this technique will fail.
-</UL>
-</DL>
-The output consists of one <STRONG>graph</STRONG> line, a sequence of
-<STRONG>node</STRONG> lines, one per node, a sequence of
-<STRONG>edge</STRONG> lines, one per edge, and a final <STRONG>stop</STRONG>
-line. All units are in inches, represented by a floating point number.
-<P>
-Note that the plain formats provide minimal information, really giving not
-much more than node positions and sizes, and edge spline control points.
-These formats are usually most useful to applications wanting just this
-geometric information, and willing to fill in all of the graphical details.
-The only real advantages to these formats is their terseness and their
-ease of parsing. In general, the <A HREF=#d:dot>dot</A> and
-<A HREF=#d:xdot>xdot</A> are preferable in terms of the quantity of
-information provided.
-
-<DT><A NAME=d:png HREF=#a:png><STRONG>png</STRONG></A>
-<DD>Produces output in the PNG (Portable Network Graphics) format.
-
-<DT><A NAME=d:ps HREF=#a:ps><STRONG>ps</STRONG></A>
-<DD>Produces PostScript output.
-<P>
-Note: The default PostScript renderer can only handle the Latin-1
-character set. To get non-Latin-1 characters into PostScript output,
-use <TT>-Tps:cairo</TT>, assuming your version was built with the
-Cairo renderer.
-
-<DT><A NAME=d:ps2 HREF=#a:ps2><STRONG>ps2</STRONG></A>
-<DD>Produces PostScript output with PDF notations. It is assumed the output
-will be directly converted into PDF format. The notations include PDF
-bounding box information, so that the resulting PDF file can be correctly
-used with pdf tools, such as <STRONG>pdflatex</STRONG>.
-In addition, if a node has a URL
-attribute, this gets translated into PDF code such that the node,
-when viewed in a PDF-viewer, e.g.,
-<STRONG>acroread</STRONG>,
-is a link to the given URL. If a URL is attached to the graph, this serves
-as a base, such that relative URLs on nodes are derived from it.
-
-<DT><A NAME=d:svg HREF=#a:svg><STRONG>svg</STRONG></A>
-,<DT><A NAME=d:svgz HREF=#a:svgz><STRONG>svgz</STRONG></A>
-<DD>Produce <A HREF="http://www.adobe.com/svg/">SVG</A> output,
-the latter in compressed format.
-<P>
-See <A HREF=#ID>Note</A>.
-
-<DT><A NAME=d:tga HREF=#a:tga><STRONG>tga</STRONG></A>
-<DD>Produces <A HREF="http://en.wikipedia.org/wiki/Truevision_TGA">Targa</A> output.
-
-<DT><A NAME=d:tif HREF=#a:tif><STRONG>tif</STRONG></A>
-,<DT><A NAME=d:tiff HREF=#a:tiff><STRONG>tiff</STRONG></A>
-<DD>Produces <A HREF="http://www.libtiff.org/">TIFF</A> output.
-
-<DT><A NAME=d:vml HREF=#a:vml><STRONG>vml</STRONG></A>
-,<DT><A NAME=d:vmlz HREF=#a:vmlz><STRONG>vmlz</STRONG></A>
-<DD>Produces <A HREF="http://www.w3.org/TR/NOTE-VML">VML</A> output,
-the latter in compressed format.
-<P>
-See <A HREF=#ID>Note</A>.
-
-<DT><A NAME=d:vrml HREF=#a:vrml><STRONG>vrml</STRONG></A>
-<DD>Outputs graphs in the <A HREF="http://www.vrml.org/">VRML</A> format.
-To get a 3D embedding, nodes must have a <A HREF=attrs.html#d:z>z</A>
-attribute. These can either be supplied as part of the input graph, or
-be generated by neato provided <A HREF=attrs.html#d:dim>dim</A><TT>=3</TT>
-and at least one node has a <B>z</B> value.
-<P>
-Line segments are drawn as cylinders.
-In general, VRML output relies on having the PNG library to produce images
-used to texture-fill the node shapes. However, if
-<A HREF=attrs.html#d:shape>shape</A><TT>=point</TT>,
-a node is drawn as a 3D sphere.
-
-<DT><A NAME=d:vtx HREF=#a:vtx><STRONG>vtx</STRONG></A>
-<DD>Generates graph diagrams in the format for
-<A HREF="http://www.bombshellstudios.com/samples/co/vt.html">Confluents's Visual Thought</A>.
-
-<DT><A NAME=d:wbmp HREF=#a:wbmp><STRONG>wbmp</STRONG></A>
-<DD>Produces output in the Wireless BitMap (WBMP) format, optimized for
-mobile computing.
-
-<DT><A NAME=d:xlib HREF=#a:xlib><STRONG>xlib</STRONG></A>
-<DD>Creates an <A HREF="http://en.wikipedia.org/wiki/Xlib">Xlib</A> window and displays the output there.
-
-</DL>
-<HR>
-</BODY>
-</HTML>
-
-<HR>
-<H2>Notes</H2>
-<OL TYPE="1">
-<LI>
-<A NAME=ID>In certain text-based formats, the output generates
-'id="xxx"' properties for clusters, nodes, edges, and 
-html-cells.
-
-At the moment the id doesn't distinguish between multiedges in 
-non-strict graphs.
-</OL>
index 1f77bc8a12c288bc4e41925f1b90a8b3f875a3a4..385b37c2f71b63da71e4e681b8cb245da4f403ce 100644 (file)
Binary files a/doc/info/plaintext.gif and b/doc/info/plaintext.gif differ
index 8da0ae716f29fe16303092c949478d6011a46450..834ef6c94396cb0cc5c3681285ba55e0359412cc 100644 (file)
Binary files a/doc/info/record.gif and b/doc/info/record.gif differ
index 0c34a2b67b61b35b39d5b4d8bb613abb22ac7f9c..609442215b4e0ca0a8507f881add1e4282d851df 100644 (file)
Binary files a/doc/info/record2.gif and b/doc/info/record2.gif differ
index cb5532c0c53764b0a2e1bb6e76d7987faae1488f..2754ed201df91555969095c3ff4ce5348384f3f6 100644 (file)
Binary files a/doc/info/round.gif and b/doc/info/round.gif differ
index 3c40f56a0f0a0e36f4bf5b7b98cfe89f5dac4b3f..426c5a3a5972c33772b4f83494f3659bc6a21ef7 100644 (file)
Binary files a/doc/info/sdlshapes.jpg and b/doc/info/sdlshapes.jpg differ
index 98a84294e6e8328603d91042c8d6b22efed36e04..c1e021ddaddbc53cc8c3492ec5b6f7e846168d7e 100644 (file)
@@ -72,12 +72,12 @@ record2.gif : record.dot
 
 sdlshapes.jpg : sdlshapes.dot
        dot -Tps -lsdl.ps sdlshapes.dot > sdlshapes.ps
-       ps_to_jpg.sh sdlshapes.ps sdlshapes.jpg
+       ./ps_to_jpg.sh sdlshapes.ps sdlshapes.jpg
 
 attrs.html : attrs.1 attrs types mkattrs.sh mktypes.sh
        cat attrs.1 > attrs.html
-       mkattrs.sh < attrs >> attrs.html
-       mktypes.sh < types >> attrs.html
+       ./mkattrs.sh < attrs >> attrs.html
+       ./mktypes.sh < types >> attrs.html
 
 colors.html : colors.1 colors.n X11 brewer_colors mkcolors.awk brewer.awk
        mkdir -p colortmp
@@ -90,10 +90,10 @@ colors.html : colors.1 colors.n X11 brewer_colors mkcolors.awk brewer.awk
 
 output.html : output.1 outputs mkoutput.sh
        cat output.1 > output.html
-       mkoutput.sh < outputs >> output.html
+       ./mkoutput.sh < outputs >> output.html
 
 html.html : html.1 html_grammar html.2 html.3 html1.gif html2.gif html3.gif html4.gif mklang
-       mklang html_grammar gramtmp
+       ./mklang html_grammar gramtmp
        cat html.1 > html.html
        cat gramtmp >> html.html
        cat html.2 >> html.html
@@ -102,29 +102,29 @@ html.html : html.1 html_grammar html.2 html.3 html1.gif html2.gif html3.gif html
        rm gramtmp
 
 shapes : shapelist mkshapes.sh
-       mkshapes.sh
+       ./mkshapes.sh
        touch shapes
  
 shapes.html : shapes shapes.1 mkshhtml.sh shapes.2 html.html shapes.3 record.gif record2.gif sdlshapes.jpg
        cat shapes.1 > shapes.html
-       mkshhtml.sh >> shapes.html
+       ./mkshhtml.sh >> shapes.html
        cat shapes.2 >> shapes.html
        cat html.html >> shapes.html
        cat shapes.3 >> shapes.html
 
 lang.html : grammar lang.1 lang.2 mklang
-       mklang grammar gramtmp
+       ./mklang grammar gramtmp
        cat lang.1 > lang.html
        cat gramtmp >> lang.html
        cat lang.2 >> lang.html
        rm gramtmp
 
 arrows.html : arrow_grammar arrows.1 arrows.2 mkarrowtbl.sh mklang
-       mklang arrow_grammar gramtmp
+       ./mklang arrow_grammar gramtmp
        cat arrows.1 > arrows.html
        cat gramtmp >> arrows.html
        cat arrows.2 >> arrows.html
-       mkarrowtbl.sh $(A2GIF) >> arrows.html
+       ./mkarrowtbl.sh $(A2GIF) >> arrows.html
        rm gramtmp
 
 mklang : mklang.y
@@ -133,13 +133,13 @@ mklang : mklang.y
        rm -rf y.tab.c
 
 $(SGIF) : mkshapes.sh shapelist
-       mkshapes.hs
+       ./mkshapes.sh
 
 $(AGIF) :
-       mkarrows.sh $@
+       ./mkarrows.sh $@
 
 $(A2GIF) :
-       mkarrows.sh -s $@
+       ./mkarrows.sh -s $@
 
 clean :
        rm -f mklang sdlshapes.ps html.html