ref: b2ffb6ccc5a5a4fcc996cc5db14ea7e2da13a411
dir: /sys/src/cmd/eqn/move.c/
# include "e.h"
# include "y.tab.h"
void move(int dir, int amt, int p)
{
double a;
yyval = p;
a = EM(amt/100.0, ps);
printf(".ds %d ", yyval);
if (dir == FWD || dir == BACK)
printf("\\h'%s%gm'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
else if (dir == UP)
printf("\\v'-%gm'\\*(%d\\v'%gm'\n", a, p, a);
else if (dir == DOWN)
printf("\\v'%gm'\\*(%d\\v'-%gm'\n", a, p, a);
dprintf(".\tmove %d dir %d amt %g; h=%g b=%g\n",
p, dir, a, eht[yyval], ebase[yyval]);
}