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