ref: c3ba64f6935322f09b6de5c2285544fd471c605d
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]); }