> # here's the part I'm interested in
> line left from last box .w;
> line up to 1st box .w + (-0.5,0);
> arrow to 1st box .w;
> .PE
>
> One can get a straight line by adjusting the coordinates in the next-
> to-last line, although for a more complex chart (like the real one
> was), it might take several iterations. On my computer, I get a left,
> up, then a diagonal instead of just left & diagonal. (PS file attached.)
>
> I was wondering if anyone could: 1) explain why the dogleg appears;
This is caused by the `up' keyword. Your code is equivalent to
line up then to 1st box .w + (-0.5,0);
Just say
line to 1st box .w + (-0.5,0);
> 2) provide a more elegant method of drawing a line back up to the
> first box that doesn't require guesswork.
What about this:
.PS
# Left_Arrow(start, end, distance)
define Left_Arrow {
x1 = $1.w.x;
x2 = $2.w.x;
xoff = min(x1, x2) - $3;
line from $1.w to (xoff, $1.y);
line to (xoff, $2.y);
arrow to $2.w
}
down;
A: box wid 1 "xyzzy";
arrow;
box "plugh";
arrow;
B: box "plove";
Left_Arrow(B, A, 0.2);
.PE
Werner
_______________________________________________
Groff mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/groff