groff
[Top][All Lists]

## Re: [Groff] pic - drawing a line back to the beginning

 From: Werner LEMBERG Subject: Re: [Groff] pic - drawing a line back to the beginning Date: Tue, 17 Oct 2006 09:05:02 +0200 (CEST)

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

.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

```

reply via email to