1*3e12c5d1SDavid du Colombier #include "e.h" 2*3e12c5d1SDavid du Colombier 3*3e12c5d1SDavid du Colombier /* YOU MAY WANT TO CHANGE THIS */ 4*3e12c5d1SDavid du Colombier char *typesetter = "post"; /* type of typesetter today */ 5*3e12c5d1SDavid du Colombier int ttype = DEVPOST; 6*3e12c5d1SDavid du Colombier int minsize = 4; /* min size it can handle */ 7*3e12c5d1SDavid du Colombier 8*3e12c5d1SDavid du Colombier 9*3e12c5d1SDavid du Colombier int dbg; /* debugging print if non-zero */ 10*3e12c5d1SDavid du Colombier int lp[200]; /* stack for things like piles and matrices */ 11*3e12c5d1SDavid du Colombier int ct; /* pointer to lp */ 12*3e12c5d1SDavid du Colombier int used[100]; /* available registers */ 13*3e12c5d1SDavid du Colombier int ps; /* default init point size */ 14*3e12c5d1SDavid du Colombier int deltaps = 3; /* default change in ps */ 15*3e12c5d1SDavid du Colombier int dps_set = 0; /* 1 => -p option used */ 16*3e12c5d1SDavid du Colombier int gsize = 10; /* default initial point size */ 17*3e12c5d1SDavid du Colombier int ft = '2'; 18*3e12c5d1SDavid du Colombier Font ftstack[10] = { '2', "2" }; /* bottom is global font */ 19*3e12c5d1SDavid du Colombier Font *ftp = ftstack; 20*3e12c5d1SDavid du Colombier int szstack[10]; /* non-zero if absolute size set at this level */ 21*3e12c5d1SDavid du Colombier int nszstack = 0; 22*3e12c5d1SDavid du Colombier int display = 0; /* 1=>display, 0=>.EQ/.EN */ 23*3e12c5d1SDavid du Colombier 24*3e12c5d1SDavid du Colombier int synerr; /* 1 if syntax err in this eqn */ 25*3e12c5d1SDavid du Colombier double eht[100]; /* height in ems at gsize */ 26*3e12c5d1SDavid du Colombier double ebase[100]; /* base: where one enters above bottom */ 27*3e12c5d1SDavid du Colombier int lfont[100]; /* leftmost and rightmost font associated with this thing */ 28*3e12c5d1SDavid du Colombier int rfont[100]; 29*3e12c5d1SDavid du Colombier int lclass[100]; /* leftmost and rightmost class associated with this thing */ 30*3e12c5d1SDavid du Colombier int rclass[100]; 31*3e12c5d1SDavid du Colombier int eqnreg; /* register where final string appears */ 32*3e12c5d1SDavid du Colombier double eqnht; /* final height of equation */ 33*3e12c5d1SDavid du Colombier int lefteq = '\0'; /* left in-line delimiter */ 34*3e12c5d1SDavid du Colombier int righteq = '\0'; /* right in-line delimiter */ 35*3e12c5d1SDavid du Colombier int markline = 0; /* 1 if this EQ/EN contains mark; 2 if lineup */ 36