plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

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 }