eqnbox.c 576 B

123456789101112131415161718192021222324
  1. #include "e.h"
  2. void eqnbox(int p1, int p2, int lu)
  3. {
  4. double b, h;
  5. char *sh;
  6. extern char *IRspace;
  7. yyval = p1;
  8. b = max(ebase[p1], ebase[p2]);
  9. eht[yyval] = h = b + max(eht[p1]-ebase[p1],
  10. eht[p2]-ebase[p2]);
  11. ebase[yyval] = b;
  12. dprintf(".\tS%d <- %d %d; b=%g, h=%g\n", yyval, p1, p2, b, h);
  13. sh = pad(class[rclass[p1]][lclass[p2]]);
  14. if (lu) {
  15. printf(".nr %d \\w'\\*(%d%s'\n", p1, p1, sh);
  16. printf(".ds %d \\h'|\\n(09u-\\n(%du'\\*(%d\n", p1, p1, p1);
  17. }
  18. printf(".as %d \"%s\\*(%d\n", yyval, sh, p2);
  19. rfont[p1] = rfont[p2];
  20. rclass[p1] = rclass[p2];
  21. sfree(p2);
  22. }