paren(leftc
, p1
, rightc
) int p1
, leftc
, rightc
; {
h1
= eht
[p1
]; b1
= ebase
[p1
];
n
= max(b1
+VERT(1), h1
-b1
-VERT(1)) / VERT(1);
if (leftc
=='{' || rightc
== '}') {
eht
[yyval
] = VERT(2 * n
);
ebase
[yyval
] = (n
)/2 * VERT(2);
printf(".ds %d \\|\\v'%du'", yyval
, v
);
brack(m
, "\\(bv", "\\(bv", "\\(lf");
brack(m
, "\\(lc", "\\(bv", "\\(bv");
for(j
= 0; j
< m
; j
+= 2) printf("\\(bv");
for(j
= 0; j
< m
; j
+= 2) printf("\\(bv");
brack(m
, "\\(lt", "\\(bv", "\\(lb");
brack(m
, "\\(lc", "\\(bv", "\\(lf");
brack(m
, (char *) &leftc
, (char *) &leftc
, (char *) &leftc
);
printf("\\v'%du'\\*(%d", -v
, p1
);
printf("\\|\\v'%du'", v
);
brack(m
, "\\(bv", "\\(bv", "\\(rf");
brack(m
, "\\(rc", "\\(bv", "\\(bv");
for(j
= 0; j
< m
; j
+= 2)printf("\\(bv");
for(j
= 0; j
< m
; j
+= 2) printf("\\(bv");
brack(m
, "\\(rc", "\\(bv", "\\(rf");
brack(m
, "\\(rt", "\\(bv", "\\(rb");
brack(m
, (char *) &rightc
, (char *) &rightc
, (char *) &rightc
);
if(dbg
)printf(".\tcurly: h=%d b=%d n=%d v=%d l=%c, r=%c\n",
eht
[yyval
], ebase
[yyval
], n
, v
, leftc
, rightc
);
brack(m
, t
, c
, b
) int m
; char *t
, *c
, *b
; {