|
|
1.1 ! root 1: .TH DAG 1 ! 2: .CT 1 writing_troff graphics ! 3: .tr @" ! 4: .SH NAME ! 5: dag \- preprocessor for drawing directed graphs ! 6: .SH SYNOPSIS ! 7: .B dag ! 8: [ ! 9: .I option ... ! 10: ] [ file ... ] ! 11: .SH DESCRIPTION ! 12: .I Dag ! 13: is a ! 14: .IR pic (1) ! 15: or PostScript preprocessor for laying out directed graphs. ! 16: It does well on ! 17: acyclic graphs (dags) and other graphs that can be drawn ! 18: hierarchically. ! 19: Graph statements are contained between ! 20: .B .GD ! 21: (node ranks increase downward) or ! 22: .BR .GR ! 23: (rightward) and ! 24: .BR .GE . ! 25: Edges point in the direction of increasing rank if possible; ! 26: the other direction is favored for edges within rank. ! 27: A summary of statements follows. ! 28: .PP ! 29: .B edge from ! 30: .I tail ! 31: .B to ! 32: .IB "head0 edge-items" , ! 33: .B to ! 34: .IB "head1 edge-items" , ! 35: .B to ! 36: .IB "head2 edge-items..." ; ! 37: Create edges from the tail node ! 38: to the head node(s). ! 39: Nodes are created if they do ! 40: not already exist. ! 41: Edge-items ! 42: (described below) and the noise words ! 43: .BR edge , ! 44: .BR from , ! 45: .BR to , ! 46: and comma are optional. ! 47: Node names may be quoted to protect blanks or keywords. ! 48: .PP ! 49: .B ordered ! 50: .IB "tail head0 head1 head2..." ; ! 51: Make edges with heads in given left-to-right order ! 52: on the same rank. ! 53: May contain noise words and edge-items. ! 54: .PP ! 55: .B path ! 56: .IB "node0 node1 node2..." ; ! 57: Make a path of edges. ! 58: May contain noise words and edge-items. ! 59: .PP ! 60: .B backedge ! 61: .IB "tail head0 head1 head2..." ; ! 62: Same as edges with opposite node ranking preferred. ! 63: .PP ! 64: .B backpath ! 65: .IB "node0 node1 node2..." ; ! 66: Make a path of backedges. ! 67: .PP ! 68: .B draw nodes ! 69: .IB node-items ; ! 70: Set properties of subsequently created ! 71: nodes. ! 72: Legal ! 73: .IR node-items : ! 74: .RS ! 75: .TF color\ string ! 76: .TP ! 77: .BI as " shape ! 78: Known shapes are ! 79: .BR Box , ! 80: .BR Circle , ! 81: .BR Doublecircle , ! 82: .BR Ellipse ! 83: (default), ! 84: .BR Diamond , ! 85: .BR Square , ! 86: .BR Plaintext . ! 87: Other shapes may be specified within braces ! 88: .B {} ! 89: in the output language (e.g. ! 90: .IR pic ) ! 91: or defined; see below. ! 92: .TP ! 93: .BI label " @string@ ! 94: Label with ! 95: .I string ! 96: instead of node name. ! 97: .TP ! 98: .BI pointsize " points ! 99: .TP ! 100: .BIwidth " inches ! 101: .TP ! 102: .BI height "inches ! 103: .TP ! 104: .BI color " @string@ ! 105: Hue-saturation-brightness ! 106: triple; works only with PostScript. ! 107: .PD ! 108: .RE ! 109: .PP ! 110: .B draw ! 111: .IB "nodelist node-items" ; ! 112: Set properties of listed nodes. ! 113: .PP ! 114: .B draw edges ! 115: .IB edge-items ; ! 116: Set properties of subsequently created edges. ! 117: Legal ! 118: .IR edge-items : ! 119: .RS ! 120: .TF color\ string ! 121: .HP ! 122: .BR dotted , ! 123: .BR dashed , ! 124: .BR solid , ! 125: .BR invis ! 126: .TP ! 127: .BI label " @string@ ! 128: .TP ! 129: .BI weight " n ! 130: High-weight edges are kept short. Default weight 1. ! 131: .TP ! 132: .BI color " @string@ ! 133: .TP ! 134: .BI pointsize " points ! 135: .PD ! 136: .RE ! 137: .PP ! 138: .B minimum rank ! 139: .IB nodelist ; ! 140: Listed nodes must be on the topmost rank (leftmost with ! 141: .BR .GR ). ! 142: .PD0 ! 143: .PP ! 144: .B maximum rank ! 145: .IB nodelist ; ! 146: Bottommost or rightmost rank. ! 147: .PP ! 148: .B same rank ! 149: .IB nodelist ; ! 150: .PD ! 151: .HP ! 152: .B separate ranks ! 153: .IB "inches how " ; ! 154: Set minimum separation between ranks. ! 155: The optional ! 156: .I how ! 157: is ! 158: .B exactly ! 159: or ! 160: .BR equally . ! 161: .PD 0 ! 162: .TP ! 163: .BI "separate nodes " inches " ; ! 164: .PD ! 165: .PP ! 166: .ne 3 ! 167: The options are ! 168: .TF -Tsimple ! 169: .PD ! 170: .TP ! 171: .B -O ! 172: Place nodes `optimally'; ! 173: practical for graphs of a few ! 174: dozen nodes. ! 175: .TP ! 176: .B -Tps ! 177: Prepare output for PostScript rather than ! 178: .I pic. ! 179: .PD0 ! 180: .TP ! 181: .B -Tsimple ! 182: Output similar to that of ! 183: .IR graphdraw (9.1). ! 184: .TP ! 185: .B -Tcip ! 186: Output readable by ! 187: .IR cip (9.1). ! 188: .PD ! 189: .TP ! 190: .BI -p width x height , marginwidth\fPx\fPmarginheight ! 191: Set PostScript page dimensions; ! 192: .I marginwidth ! 193: and/or ! 194: .I marginheight ! 195: may be omitted. ! 196: .TP ! 197: .B -l ! 198: Disable automatic loading of the ! 199: .IR dag ! 200: graphics library. ! 201: .PP ! 202: The introductory ! 203: .B .GD ! 204: or ! 205: .B .GR ! 206: line may carry optional parameters in the form ! 207: .B .GD ! 208: .I width ! 209: .I height ! 210: .BR fill . ! 211: .I Width ! 212: and ! 213: .I height ! 214: are maximum values in inches; ! 215: .B fill ! 216: causes the graph to be stretched to the full dimensions. ! 217: .PP ! 218: Graphics code written in the output language ! 219: .RI ( pic ! 220: or PostScript) ! 221: may be embedded between ! 222: .B .PS ! 223: and ! 224: .BR .PE . ! 225: Macros defined ! 226: with three arguments\(emlabel, width, and height\(emmay ! 227: be used as shape names in node-items. ! 228: .SH EXAMPLES ! 229: .EX ! 230: \&.GD 2 2 ! 231: a b c; ! 232: path a x y; ! 233: draw nodes as Box; ! 234: a z label "hi" weight 1000; ! 235: draw edges dashed; ! 236: b x; ! 237: same rank b x; ! 238: \&.GE ! 239: .EE ! 240: .if n .ig ! 241: .GD 2 2 ! 242: a b c; ! 243: path a x y; ! 244: draw nodes as Box; ! 245: a z label "hi" weight 1000; ! 246: draw edges dashed; ! 247: b x; ! 248: same rank b x; ! 249: .GE ! 250: .. ! 251: .SH FILES ! 252: .TF $TOOLS/daglib.pic ! 253: .TP ! 254: .F $TOOLS/daglib.pic ! 255: default ! 256: .BR TOOLS = /usr/lib ! 257: .TP ! 258: .F $TOOLS/daglib.ps ! 259: .SH SEE ALSO ! 260: .IR pic (1), ! 261: .IR lp (1), ! 262: .IR graphdraw (9.1), ! 263: .IR psi (9.1), ! 264: .IR troff (1) ! 265: .br ! 266: E. R. Gansner, S. C. North, K. P. Vo, ! 267: `DAG\(emA Program that Draws Directed Graphs', ! 268: this manual, Volume 2 ! 269: .SH BUGS ! 270: The delimiter ! 271: .B .GD ! 272: is nonstandard; it may be called ! 273: .B .GS ! 274: in installations where ! 275: .IR ped (9.1) ! 276: is not used. ! 277: .br ! 278: .I Troff ! 279: lacks dotted or dashed splines; use PostScript. ! 280: .br ! 281: Edge labels may overlap.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.