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