1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
|
%
% QobiTree tree macros written by Jeffrey Mark Siskind (Qobi@CIS.UPenn.EDU)
%
\newcounter{treecount}
\newcounter{branchcount}
\setcounter{treecount}{0}
\newsavebox{\parentbox}
\newsavebox{\treebox}
\newsavebox{\treeboxone}
\newsavebox{\treeboxtwo}
\newsavebox{\treeboxthree}
\newsavebox{\treeboxfour}
\newsavebox{\treeboxfive}
\newsavebox{\treeboxsix}
\newsavebox{\treeboxseven}
\newsavebox{\treeboxeight}
\newsavebox{\treeboxnine}
\newsavebox{\treeboxten}
\newsavebox{\treeboxeleven}
\newsavebox{\treeboxtwelve}
\newsavebox{\treeboxthirteen}
\newsavebox{\treeboxfourteen}
\newsavebox{\treeboxfifteen}
\newsavebox{\treeboxsixteen}
\newsavebox{\treeboxseventeen}
\newsavebox{\treeboxeighteen}
\newsavebox{\treeboxnineteen}
\newsavebox{\treeboxtwenty}
\newlength{\treeoffsetone}
\newlength{\treeoffsettwo}
\newlength{\treeoffsetthree}
\newlength{\treeoffsetfour}
\newlength{\treeoffsetfive}
\newlength{\treeoffsetsix}
\newlength{\treeoffsetseven}
\newlength{\treeoffseteight}
\newlength{\treeoffsetnine}
\newlength{\treeoffsetten}
\newlength{\treeoffseteleven}
\newlength{\treeoffsettwelve}
\newlength{\treeoffsetthirteen}
\newlength{\treeoffsetfourteen}
\newlength{\treeoffsetfifteen}
\newlength{\treeoffsetsixteen}
\newlength{\treeoffsetseventeen}
\newlength{\treeoffseteighteen}
\newlength{\treeoffsetnineteen}
\newlength{\treeoffsettwenty}
\newlength{\treeshiftone}
\newlength{\treeshifttwo}
\newlength{\treeshiftthree}
\newlength{\treeshiftfour}
\newlength{\treeshiftfive}
\newlength{\treeshiftsix}
\newlength{\treeshiftseven}
\newlength{\treeshifteight}
\newlength{\treeshiftnine}
\newlength{\treeshiftten}
\newlength{\treeshifteleven}
\newlength{\treeshifttwelve}
\newlength{\treeshiftthirteen}
\newlength{\treeshiftfourteen}
\newlength{\treeshiftfifteen}
\newlength{\treeshiftsixteen}
\newlength{\treeshiftseventeen}
\newlength{\treeshifteighteen}
\newlength{\treeshiftnineteen}
\newlength{\treeshifttwenty}
\newlength{\treewidthone}
\newlength{\treewidthtwo}
\newlength{\treewidththree}
\newlength{\treewidthfour}
\newlength{\treewidthfive}
\newlength{\treewidthsix}
\newlength{\treewidthseven}
\newlength{\treewidtheight}
\newlength{\treewidthnine}
\newlength{\treewidthten}
\newlength{\treewidtheleven}
\newlength{\treewidthtwelve}
\newlength{\treewidththirteen}
\newlength{\treewidthfourteen}
\newlength{\treewidthfifteen}
\newlength{\treewidthsixteen}
\newlength{\treewidthseventeen}
\newlength{\treewidtheighteen}
\newlength{\treewidthnineteen}
\newlength{\treewidthtwenty}
\newlength{\daughteroffsetone}
\newlength{\daughteroffsettwo}
\newlength{\daughteroffsetthree}
\newlength{\daughteroffsetfour}
\newlength{\branchwidthone}
\newlength{\branchwidthtwo}
\newlength{\branchwidththree}
\newlength{\branchwidthfour}
\newlength{\parentoffset}
\newlength{\treeoffset}
\newlength{\daughteroffset}
\newlength{\branchwidth}
\newlength{\parentwidth}
\newlength{\treewidth}
%
\newcommand{\ontop}[1]{\begin{tabular}{c}#1\end{tabular}}
%
\newcommand{\poptree}{%
\ifnum\value{treecount}=0\typeout{QobiTeX warning---Tree stack underflow}\fi%
\addtocounter{treecount}{-1}%
\setlength{\treeoffsettwo}{\treeoffsetthree}%
\setlength{\treeoffsetthree}{\treeoffsetfour}%
\setlength{\treeoffsetfour}{\treeoffsetfive}%
\setlength{\treeoffsetfive}{\treeoffsetsix}%
\setlength{\treeoffsetsix}{\treeoffsetseven}%
\setlength{\treeoffsetseven}{\treeoffseteight}%
\setlength{\treeoffseteight}{\treeoffsetnine}%
\setlength{\treeoffsetnine}{\treeoffsetten}%
\setlength{\treeoffsetten}{\treeoffseteleven}%
\setlength{\treeoffseteleven}{\treeoffsettwelve}%
\setlength{\treeoffsettwelve}{\treeoffsetthirteen}%
\setlength{\treeoffsetthirteen}{\treeoffsetfourteen}%
\setlength{\treeoffsetfourteen}{\treeoffsetfifteen}%
\setlength{\treeoffsetfifteen}{\treeoffsetsixteen}%
\setlength{\treeoffsetsixteen}{\treeoffsetseventeen}%
\setlength{\treeoffsetseventeen}{\treeoffseteighteen}%
\setlength{\treeoffseteighteen}{\treeoffsetnineteen}%
\setlength{\treeoffsetnineteen}{\treeoffsettwenty}%
\setlength{\treeshifttwo}{\treeshiftthree}%
\setlength{\treeshiftthree}{\treeshiftfour}%
\setlength{\treeshiftfour}{\treeshiftfive}%
\setlength{\treeshiftfive}{\treeshiftsix}%
\setlength{\treeshiftsix}{\treeshiftseven}%
\setlength{\treeshiftseven}{\treeshifteight}%
\setlength{\treeshifteight}{\treeshiftnine}%
\setlength{\treeshiftnine}{\treeshiftten}%
\setlength{\treeshiftten}{\treeshifteleven}%
\setlength{\treeshifteleven}{\treeshifttwelve}%
\setlength{\treeshifttwelve}{\treeshiftthirteen}%
\setlength{\treeshiftthirteen}{\treeshiftfourteen}%
\setlength{\treeshiftfourteen}{\treeshiftfifteen}%
\setlength{\treeshiftfifteen}{\treeshiftsixteen}%
\setlength{\treeshiftsixteen}{\treeshiftseventeen}%
\setlength{\treeshiftseventeen}{\treeshifteighteen}%
\setlength{\treeshifteighteen}{\treeshiftnineteen}%
\setlength{\treeshiftnineteen}{\treeshifttwenty}%
\setlength{\treewidthtwo}{\treewidththree}%
\setlength{\treewidththree}{\treewidthfour}%
\setlength{\treewidthfour}{\treewidthfive}%
\setlength{\treewidthfive}{\treewidthsix}%
\setlength{\treewidthsix}{\treewidthseven}%
\setlength{\treewidthseven}{\treewidtheight}%
\setlength{\treewidtheight}{\treewidthnine}%
\setlength{\treewidthnine}{\treewidthten}%
\setlength{\treewidthten}{\treewidtheleven}%
\setlength{\treewidtheleven}{\treewidthtwelve}%
\setlength{\treewidthtwelve}{\treewidththirteen}%
\setlength{\treewidththirteen}{\treewidthfourteen}%
\setlength{\treewidthfourteen}{\treewidthfifteen}%
\setlength{\treewidthfifteen}{\treewidthsixteen}%
\setlength{\treewidthsixteen}{\treewidthseventeen}%
\setlength{\treewidthseventeen}{\treewidtheighteen}%
\setlength{\treewidtheighteen}{\treewidthnineteen}%
\setlength{\treewidthnineteen}{\treewidthtwenty}%
\sbox{\treeboxtwo}{\usebox{\treeboxthree}}%
\sbox{\treeboxthree}{\usebox{\treeboxfour}}%
\sbox{\treeboxfour}{\usebox{\treeboxfive}}%
\sbox{\treeboxfive}{\usebox{\treeboxsix}}%
\sbox{\treeboxsix}{\usebox{\treeboxseven}}%
\sbox{\treeboxseven}{\usebox{\treeboxeight}}%
\sbox{\treeboxeight}{\usebox{\treeboxnine}}%
\sbox{\treeboxnine}{\usebox{\treeboxten}}%
\sbox{\treeboxten}{\usebox{\treeboxeleven}}%
\sbox{\treeboxeleven}{\usebox{\treeboxtwelve}}%
\sbox{\treeboxtwelve}{\usebox{\treeboxthirteen}}%
\sbox{\treeboxthirteen}{\usebox{\treeboxfourteen}}%
\sbox{\treeboxfourteen}{\usebox{\treeboxfifteen}}%
\sbox{\treeboxfifteen}{\usebox{\treeboxsixteen}}%
\sbox{\treeboxsixteen}{\usebox{\treeboxseventeen}}%
\sbox{\treeboxseventeen}{\usebox{\treeboxeighteen}}%
\sbox{\treeboxeighteen}{\usebox{\treeboxnineteen}}%
\sbox{\treeboxnineteen}{\usebox{\treeboxtwenty}}}
%
\newcommand{\leaf}[1]{%
\ifnum\value{treecount}=20\typeout{QobiTeX warning---Tree stack overflow}\fi%
\addtocounter{treecount}{1}%
\sbox{\treeboxtwenty}{\usebox{\treeboxnineteen}}%
\sbox{\treeboxnineteen}{\usebox{\treeboxeighteen}}%
\sbox{\treeboxeighteen}{\usebox{\treeboxseventeen}}%
\sbox{\treeboxseventeen}{\usebox{\treeboxsixteen}}%
\sbox{\treeboxsixteen}{\usebox{\treeboxfifteen}}%
\sbox{\treeboxfifteen}{\usebox{\treeboxfourteen}}%
\sbox{\treeboxfourteen}{\usebox{\treeboxthirteen}}%
\sbox{\treeboxthirteen}{\usebox{\treeboxtwelve}}%
\sbox{\treeboxtwelve}{\usebox{\treeboxeleven}}%
\sbox{\treeboxeleven}{\usebox{\treeboxten}}%
\sbox{\treeboxten}{\usebox{\treeboxnine}}%
\sbox{\treeboxnine}{\usebox{\treeboxeight}}%
\sbox{\treeboxeight}{\usebox{\treeboxseven}}%
\sbox{\treeboxseven}{\usebox{\treeboxsix}}%
\sbox{\treeboxsix}{\usebox{\treeboxfive}}%
\sbox{\treeboxfive}{\usebox{\treeboxfour}}%
\sbox{\treeboxfour}{\usebox{\treeboxthree}}%
\sbox{\treeboxthree}{\usebox{\treeboxtwo}}%
\sbox{\treeboxtwo}{\usebox{\treeboxone}}%
\sbox{\treeboxone}{\ontop{#1}}%
\sbox{\treeboxone}{\raisebox{-\ht\treeboxone}{\usebox{\treeboxone}}}%
\setlength{\treeoffsettwenty}{\treeoffsetnineteen}%
\setlength{\treeoffsetnineteen}{\treeoffseteighteen}%
\setlength{\treeoffseteighteen}{\treeoffsetseventeen}%
\setlength{\treeoffsetseventeen}{\treeoffsetsixteen}%
\setlength{\treeoffsetsixteen}{\treeoffsetfifteen}%
\setlength{\treeoffsetfifteen}{\treeoffsetfourteen}%
\setlength{\treeoffsetfourteen}{\treeoffsetthirteen}%
\setlength{\treeoffsetthirteen}{\treeoffsettwelve}%
\setlength{\treeoffsettwelve}{\treeoffseteleven}%
\setlength{\treeoffseteleven}{\treeoffsetten}%
\setlength{\treeoffsetten}{\treeoffsetnine}%
\setlength{\treeoffsetnine}{\treeoffseteight}%
\setlength{\treeoffseteight}{\treeoffsetseven}%
\setlength{\treeoffsetseven}{\treeoffsetsix}%
\setlength{\treeoffsetsix}{\treeoffsetfive}%
\setlength{\treeoffsetfive}{\treeoffsetfour}%
\setlength{\treeoffsetfour}{\treeoffsetthree}%
\setlength{\treeoffsetthree}{\treeoffsettwo}%
\setlength{\treeoffsettwo}{\treeoffsetone}%
\setlength{\treeoffsetone}{0.5\wd\treeboxone}%
\setlength{\treeshifttwenty}{\treeshiftnineteen}%
\setlength{\treeshiftnineteen}{\treeshifteighteen}%
\setlength{\treeshifteighteen}{\treeshiftseventeen}%
\setlength{\treeshiftseventeen}{\treeshiftsixteen}%
\setlength{\treeshiftsixteen}{\treeshiftfifteen}%
\setlength{\treeshiftfifteen}{\treeshiftfourteen}%
\setlength{\treeshiftfourteen}{\treeshiftthirteen}%
\setlength{\treeshiftthirteen}{\treeshifttwelve}%
\setlength{\treeshifttwelve}{\treeshifteleven}%
\setlength{\treeshifteleven}{\treeshiftten}%
\setlength{\treeshiftten}{\treeshiftnine}%
\setlength{\treeshiftnine}{\treeshifteight}%
\setlength{\treeshifteight}{\treeshiftseven}%
\setlength{\treeshiftseven}{\treeshiftsix}%
\setlength{\treeshiftsix}{\treeshiftfive}%
\setlength{\treeshiftfive}{\treeshiftfour}%
\setlength{\treeshiftfour}{\treeshiftthree}%
\setlength{\treeshiftthree}{\treeshifttwo}%
\setlength{\treeshifttwo}{\treeshiftone}%
\setlength{\treeshiftone}{0pt}%
\setlength{\treewidthtwenty}{\treewidthnineteen}%
\setlength{\treewidthnineteen}{\treewidtheighteen}%
\setlength{\treewidtheighteen}{\treewidthseventeen}%
\setlength{\treewidthseventeen}{\treewidthsixteen}%
\setlength{\treewidthsixteen}{\treewidthfifteen}%
\setlength{\treewidthfifteen}{\treewidthfourteen}%
\setlength{\treewidthfourteen}{\treewidththirteen}%
\setlength{\treewidththirteen}{\treewidthtwelve}%
\setlength{\treewidthtwelve}{\treewidtheleven}%
\setlength{\treewidtheleven}{\treewidthten}%
\setlength{\treewidthten}{\treewidthnine}%
\setlength{\treewidthnine}{\treewidtheight}%
\setlength{\treewidtheight}{\treewidthseven}%
\setlength{\treewidthseven}{\treewidthsix}%
\setlength{\treewidthsix}{\treewidthfive}%
\setlength{\treewidthfive}{\treewidthfour}%
\setlength{\treewidthfour}{\treewidththree}%
\setlength{\treewidththree}{\treewidthtwo}%
\setlength{\treewidthtwo}{\treewidthone}%
\setlength{\treewidthone}{\wd\treeboxone}}
%
\newcommand{\branch}[2]{%
\setcounter{branchcount}{#1}%
\ifnum\value{branchcount}=1\sbox{\parentbox}{\ontop{#2}}%
\setlength{\parentoffset}{\treeoffsetone}%
\addtolength{\parentoffset}{-0.5\wd\parentbox}%
\setlength{\daughteroffset}{0in}%
\ifdim\parentoffset<0in%
\setlength{\daughteroffset}{-\parentoffset}%
\setlength{\parentoffset}{0in}\fi%
\setlength{\parentwidth}{\parentoffset}%
\addtolength{\parentwidth}{\wd\parentbox}%
\setlength{\treeoffset}{\daughteroffset}%
\addtolength{\treeoffset}{\treeoffsetone}%
\setlength{\treewidth}{\wd\treeboxone}%
\addtolength{\treewidth}{\daughteroffset}%
\ifdim\treewidth<\parentwidth\setlength{\treewidth}{\parentwidth}\fi%
\sbox{\treebox}{\begin{minipage}{\treewidth}%
\begin{flushleft}%
\hspace*{\parentoffset}\usebox{\parentbox}\\
{\setlength{\unitlength}{2ex}%
\hspace*{\treeoffset}\begin{picture}(0,1)%
\put(0,0){\line(0,1){1}}%
\end{picture}}\\
\vspace{-\baselineskip}
\hspace*{\daughteroffset}%
\raisebox{-\ht\treeboxone}{\usebox{\treeboxone}}%
\end{flushleft}%
\end{minipage}}%
\setlength{\treeoffsetone}{\parentoffset}%
\addtolength{\treeoffsetone}{0.5\wd\parentbox}%
\setlength{\treeshiftone}{0pt}%
\setlength{\treewidthone}{\treewidth}%
\sbox{\treeboxone}{\usebox{\treebox}}%
\else\ifnum\value{branchcount}=2\sbox{\parentbox}{\ontop{#2}}%
\setlength{\branchwidthone}{\treewidthtwo}%
\addtolength{\branchwidthone}{\treeoffsetone}%
\addtolength{\branchwidthone}{-\treeshiftone}%
\addtolength{\branchwidthone}{-\treeoffsettwo}%
\setlength{\branchwidth}{\branchwidthone}%
\setlength{\daughteroffsetone}{\branchwidth}%
\addtolength{\daughteroffsetone}{-\branchwidthone}%
\addtolength{\daughteroffsetone}{-\treeshiftone}%
\setlength{\parentoffset}{-0.5\wd\parentbox}%
\addtolength{\parentoffset}{\treeoffsettwo}%
\addtolength{\parentoffset}{0.5\branchwidth}%
\setlength{\daughteroffset}{0in}%
\ifdim\parentoffset<0in%
\setlength{\daughteroffset}{-\parentoffset}%
\setlength{\parentoffset}{0in}\fi%
\setlength{\parentwidth}{\parentoffset}%
\addtolength{\parentwidth}{\wd\parentbox}%
\setlength{\treeoffset}{\daughteroffset}%
\addtolength{\treeoffset}{\treeoffsettwo}%
\setlength{\treewidth}{\wd\treeboxone}%
\addtolength{\treewidth}{\daughteroffsetone}%
\addtolength{\treewidth}{\treewidthtwo}%
\addtolength{\treewidth}{\daughteroffset}%
\ifdim\treewidth<\parentwidth\setlength{\treewidth}{\parentwidth}\fi%
\sbox{\treebox}{\begin{minipage}{\treewidth}%
\begin{flushleft}%
\hspace*{\parentoffset}\usebox{\parentbox}\\
{\setlength{\unitlength}{0.5\branchwidth}%
\hspace*{\treeoffset}\begin{picture}(2,0.5)%
\put(0,0){\line(2,1){1}}%
\put(2,0){\line(-2,1){1}}%
\end{picture}}\\
\vspace{-\baselineskip}
\hspace*{\daughteroffset}%
\makebox[\treewidthtwo][l]%
{\raisebox{-\ht\treeboxtwo}{\usebox{\treeboxtwo}}}%
\hspace*{\daughteroffsetone}%
\raisebox{-\ht\treeboxone}{\usebox{\treeboxone}}%
\end{flushleft}%
\end{minipage}}%
\setlength{\treeoffsetone}{\parentoffset}%
\addtolength{\treeoffsetone}{0.5\wd\parentbox}%
\setlength{\treeshiftone}{0pt}%
\setlength{\treewidthone}{\treewidth}%
\sbox{\treeboxone}{\usebox{\treebox}}\poptree%
\else\ifnum\value{branchcount}=3\sbox{\parentbox}{\ontop{#2}}%
\setlength{\branchwidthone}{\treewidthtwo}%
\addtolength{\branchwidthone}{\treeoffsetone}%
\addtolength{\branchwidthone}{-\treeshiftone}%
\addtolength{\branchwidthone}{-\treeoffsettwo}%
\setlength{\branchwidthtwo}{\treewidththree}%
\addtolength{\branchwidthtwo}{\treeoffsettwo}%
\addtolength{\branchwidthtwo}{-\treeshifttwo}%
\addtolength{\branchwidthtwo}{-\treeoffsetthree}%
\setlength{\branchwidth}{\branchwidthone}%
\ifdim\branchwidthtwo>\branchwidth%
\setlength{\branchwidth}{\branchwidthtwo}\fi%
\setlength{\daughteroffsetone}{\branchwidth}%
\addtolength{\daughteroffsetone}{-\branchwidthone}%
\addtolength{\daughteroffsetone}{-\treeshiftone}%
\setlength{\daughteroffsettwo}{\branchwidth}%
\addtolength{\daughteroffsettwo}{-\branchwidthtwo}%
\addtolength{\daughteroffsettwo}{-\treeshifttwo}%
\setlength{\parentoffset}{-0.5\wd\parentbox}%
\addtolength{\parentoffset}{\treeoffsetthree}%
\addtolength{\parentoffset}{\branchwidth}%
\setlength{\daughteroffset}{0in}%
\ifdim\parentoffset<0in%
\setlength{\daughteroffset}{-\parentoffset}%
\setlength{\parentoffset}{0in}\fi%
\setlength{\parentwidth}{\parentoffset}%
\addtolength{\parentwidth}{\wd\parentbox}%
\setlength{\treeoffset}{\daughteroffset}%
\addtolength{\treeoffset}{\treeoffsetthree}%
\setlength{\treewidth}{\wd\treeboxone}%
\addtolength{\treewidth}{\daughteroffsetone}%
\addtolength{\treewidth}{\treewidthtwo}%
\addtolength{\treewidth}{\daughteroffsettwo}%
\addtolength{\treewidth}{\treewidththree}%
\addtolength{\treewidth}{\daughteroffset}%
\ifdim\treewidth<\parentwidth\setlength{\treewidth}{\parentwidth}\fi%
\sbox{\treebox}{\begin{minipage}{\treewidth}%
\begin{flushleft}%
\hspace*{\parentoffset}\usebox{\parentbox}\\
{\setlength{\unitlength}{0.5\branchwidth}%
\hspace*{\treeoffset}\begin{picture}(4,1)%
\put(0,0){\line(2,1){2}}%
\put(2,0){\line(0,1){1}}%
\put(4,0){\line(-2,1){2}}%
\end{picture}}\\
\vspace{-\baselineskip}
\hspace*{\daughteroffset}%
\makebox[\treewidththree][l]%
{\raisebox{-\ht\treeboxthree}{\usebox{\treeboxthree}}}%
\hspace*{\daughteroffsettwo}%
\makebox[\treewidthtwo][l]%
{\raisebox{-\ht\treeboxtwo}{\usebox{\treeboxtwo}}}%
\hspace*{\daughteroffsetone}%
\raisebox{-\ht\treeboxone}{\usebox{\treeboxone}}%
\end{flushleft}%
\end{minipage}}%
\setlength{\treeoffsetone}{\parentoffset}%
\addtolength{\treeoffsetone}{0.5\wd\parentbox}%
\setlength{\treeshiftone}{0pt}%
\setlength{\treewidthone}{\treewidth}%
\sbox{\treeboxone}{\usebox{\treebox}}\poptree\poptree%
\else\ifnum\value{branchcount}=4\sbox{\parentbox}{\ontop{#2}}%
\setlength{\branchwidthone}{\treewidthtwo}%
\addtolength{\branchwidthone}{\treeoffsetone}%
\addtolength{\branchwidthone}{-\treeshiftone}%
\addtolength{\branchwidthone}{-\treeoffsettwo}%
\setlength{\branchwidthtwo}{\treewidththree}%
\addtolength{\branchwidthtwo}{\treeoffsettwo}%
\addtolength{\branchwidthtwo}{-\treeshifttwo}%
\addtolength{\branchwidthtwo}{-\treeoffsetthree}%
\setlength{\branchwidththree}{\treewidthfour}%
\addtolength{\branchwidththree}{\treeoffsetthree}%
\addtolength{\branchwidththree}{-\treeshiftthree}%
\addtolength{\branchwidththree}{-\treeoffsetfour}%
\setlength{\branchwidth}{\branchwidthone}%
\ifdim\branchwidthtwo>\branchwidth%
\setlength{\branchwidth}{\branchwidthtwo}\fi%
\ifdim\branchwidththree>\branchwidth%
\setlength{\branchwidth}{\branchwidththree}\fi%
\setlength{\daughteroffsetone}{\branchwidth}%
\addtolength{\daughteroffsetone}{-\branchwidthone}%
\addtolength{\daughteroffsetone}{-\treeshiftone}%
\setlength{\daughteroffsettwo}{\branchwidth}%
\addtolength{\daughteroffsettwo}{-\branchwidthtwo}%
\addtolength{\daughteroffsettwo}{-\treeshifttwo}%
\setlength{\daughteroffsetthree}{\branchwidth}%
\addtolength{\daughteroffsetthree}{-\branchwidththree}%
\addtolength{\daughteroffsetthree}{-\treeshiftthree}%
\setlength{\parentoffset}{-0.5\wd\parentbox}%
\addtolength{\parentoffset}{\treeoffsetfour}%
\addtolength{\parentoffset}{1.5\branchwidth}%
\setlength{\daughteroffset}{0in}%
\ifdim\parentoffset<0in%
\setlength{\daughteroffset}{-\parentoffset}%
\setlength{\parentoffset}{0in}\fi%
\setlength{\parentwidth}{\parentoffset}%
\addtolength{\parentwidth}{\wd\parentbox}%
\setlength{\treeoffset}{\daughteroffset}%
\addtolength{\treeoffset}{\treeoffsetfour}%
\setlength{\treewidth}{\wd\treeboxone}%
\addtolength{\treewidth}{\daughteroffsetone}%
\addtolength{\treewidth}{\treewidthtwo}%
\addtolength{\treewidth}{\daughteroffsettwo}%
\addtolength{\treewidth}{\treewidththree}%
\addtolength{\treewidth}{\daughteroffsetthree}%
\addtolength{\treewidth}{\treewidthfour}%
\addtolength{\treewidth}{\daughteroffset}%
\ifdim\treewidth<\parentwidth\setlength{\treewidth}{\parentwidth}\fi%
\sbox{\treebox}{\begin{minipage}{\treewidth}%
\begin{flushleft}%
\hspace*{\parentoffset}\usebox{\parentbox}\\
{\setlength{\unitlength}{0.5\branchwidth}%
\hspace*{\treeoffset}\begin{picture}(6,1)%
\put(0,0){\line(3,1){3}}%
\put(2,0){\line(1,1){1}}%
\put(4,0){\line(-1,1){1}}%
\put(6,0){\line(-3,1){3}}%
\end{picture}}\\
\vspace{-\baselineskip}
\hspace*{\daughteroffset}%
\makebox[\treewidthfour][l]%
{\raisebox{-\ht\treeboxfour}{\usebox{\treeboxfour}}}%
\hspace*{\daughteroffsetthree}%
\makebox[\treewidththree][l]%
{\raisebox{-\ht\treeboxthree}{\usebox{\treeboxthree}}}%
\hspace*{\daughteroffsettwo}%
\makebox[\treewidthtwo][l]%
{\raisebox{-\ht\treeboxtwo}{\usebox{\treeboxtwo}}}%
\hspace*{\daughteroffsetone}%
\raisebox{-\ht\treeboxone}{\usebox{\treeboxone}}%
\end{flushleft}%
\end{minipage}}%
\setlength{\treeoffsetone}{\parentoffset}%
\addtolength{\treeoffsetone}{0.5\wd\parentbox}%
\setlength{\treeshiftone}{0pt}%
\setlength{\treewidthone}{\treewidth}%
\sbox{\treeboxone}{\usebox{\treebox}}\poptree\poptree\poptree%
\else\ifnum\value{branchcount}=5\sbox{\parentbox}{\ontop{#2}}%
\setlength{\branchwidthone}{\treewidthtwo}%
\addtolength{\branchwidthone}{\treeoffsetone}%
\addtolength{\branchwidthone}{-\treeshiftone}%
\addtolength{\branchwidthone}{-\treeoffsettwo}%
\setlength{\branchwidthtwo}{\treewidththree}%
\addtolength{\branchwidthtwo}{\treeoffsettwo}%
\addtolength{\branchwidthtwo}{-\treeshifttwo}%
\addtolength{\branchwidthtwo}{-\treeoffsetthree}%
\setlength{\branchwidththree}{\treewidthfour}%
\addtolength{\branchwidththree}{\treeoffsetthree}%
\addtolength{\branchwidththree}{-\treeshiftthree}%
\addtolength{\branchwidththree}{-\treeoffsetfour}%
\setlength{\branchwidthfour}{\treewidthfive}%
\addtolength{\branchwidthfour}{\treeoffsetfour}%
\addtolength{\branchwidthfour}{-\treeshiftfour}%
\addtolength{\branchwidthfour}{-\treeoffsetfive}%
\setlength{\branchwidth}{\branchwidthone}%
\ifdim\branchwidthtwo>\branchwidth%
\setlength{\branchwidth}{\branchwidthtwo}\fi%
\ifdim\branchwidththree>\branchwidth%
\setlength{\branchwidth}{\branchwidththree}\fi%
\ifdim\branchwidthfour>\branchwidth%
\setlength{\branchwidth}{\branchwidthfour}\fi%
\setlength{\daughteroffsetone}{\branchwidth}%
\addtolength{\daughteroffsetone}{-\branchwidthone}%
\addtolength{\daughteroffsetone}{-\treeshiftone}%
\setlength{\daughteroffsettwo}{\branchwidth}%
\addtolength{\daughteroffsettwo}{-\branchwidthtwo}%
\addtolength{\daughteroffsettwo}{-\treeshifttwo}%
\setlength{\daughteroffsetthree}{\branchwidth}%
\addtolength{\daughteroffsetthree}{-\branchwidththree}%
\addtolength{\daughteroffsetthree}{-\treeshiftthree}%
\setlength{\daughteroffsetfour}{\branchwidth}%
\addtolength{\daughteroffsetfour}{-\branchwidthfour}%
\addtolength{\daughteroffsetfour}{-\treeshiftfour}%
\setlength{\parentoffset}{-0.5\wd\parentbox}%
\addtolength{\parentoffset}{\treeoffsetfive}%
\addtolength{\parentoffset}{2\branchwidth}%
\setlength{\daughteroffset}{0in}%
\ifdim\parentoffset<0in%
\setlength{\daughteroffset}{-\parentoffset}%
\setlength{\parentoffset}{0in}\fi%
\setlength{\parentwidth}{\parentoffset}%
\addtolength{\parentwidth}{\wd\parentbox}%
\setlength{\treeoffset}{\daughteroffset}%
\addtolength{\treeoffset}{\treeoffsetfive}%
\setlength{\treewidth}{\wd\treeboxone}%
\addtolength{\treewidth}{\daughteroffsetone}%
\addtolength{\treewidth}{\treewidthtwo}%
\addtolength{\treewidth}{\daughteroffsettwo}%
\addtolength{\treewidth}{\treewidththree}%
\addtolength{\treewidth}{\daughteroffsetthree}%
\addtolength{\treewidth}{\treewidthfour}%
\addtolength{\treewidth}{\daughteroffsetfour}%
\addtolength{\treewidth}{\treewidthfive}%
\addtolength{\treewidth}{\daughteroffset}%
\ifdim\treewidth<\parentwidth\setlength{\treewidth}{\parentwidth}\fi%
\sbox{\treebox}{\begin{minipage}{\treewidth}%
\begin{flushleft}%
\hspace*{\parentoffset}\usebox{\parentbox}\\
{\setlength{\unitlength}{0.5\branchwidth}%
\hspace*{\treeoffset}\begin{picture}(8,1)%
\put(0,0){\line(4,1){4}}%
\put(2,0){\line(2,1){2}}%
\put(4,0){\line(0,1){1}}%
\put(6,0){\line(-2,1){2}}%
\put(8,0){\line(-4,1){4}}%
\end{picture}}\\
\vspace{-\baselineskip}
\hspace*{\daughteroffset}%
\makebox[\treewidthfive][l]%
{\raisebox{-\ht\treeboxfour}{\usebox{\treeboxfive}}}%
\hspace*{\daughteroffsetfour}%
\makebox[\treewidthfour][l]%
{\raisebox{-\ht\treeboxfour}{\usebox{\treeboxfour}}}%
\hspace*{\daughteroffsetthree}%
\makebox[\treewidththree][l]%
{\raisebox{-\ht\treeboxthree}{\usebox{\treeboxthree}}}%
\hspace*{\daughteroffsettwo}%
\makebox[\treewidthtwo][l]%
{\raisebox{-\ht\treeboxtwo}{\usebox{\treeboxtwo}}}%
\hspace*{\daughteroffsetone}%
\raisebox{-\ht\treeboxone}{\usebox{\treeboxone}}%
\end{flushleft}%
\end{minipage}}%
\setlength{\treeoffsetone}{\parentoffset}%
\addtolength{\treeoffsetone}{0.5\wd\parentbox}%
\setlength{\treeshiftone}{0pt}%
\setlength{\treewidthone}{\treewidth}%
\sbox{\treeboxone}{\usebox{\treebox}}\poptree\poptree\poptree\poptree%
\else\typeout{QobiTeX warning--- Can't handle #1 branching}\fi\fi\fi\fi\fi}
%
\newcommand{\faketreewidth}[1]{%
\sbox{\parentbox}{\ontop{#1}}%
\setlength{\treewidthone}{0.5\wd\parentbox}%
\addtolength{\treewidthone}{\treeoffsetone}%
\setlength{\treeshiftone}{\treeoffsetone}%
\addtolength{\treeshiftone}{-0.5\wd\parentbox}}
%
\newcommand{\tree}{%
\usebox{\treeboxone}
\setlength{\treeoffsetone}{\treeoffsettwo}%
\sbox{\treeboxone}{\usebox{\treeboxtwo}}%
\poptree}
|