|
|
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.