summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/treesvr/treedoc.latex209
blob: edf859f71d70f935285031cbbac8cc784808f4cd (plain)
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
\documentstyle[trees,a4]{article}

\title{{\tt trees.sty}: A Macro for Drawing Binary \\
       or Ternary Trees}

\author{Peter Vanroose \\
        Peter.Vanroose@esat.kuleuven.ac.be}

\date{18 april 1990}

\begin{document}

\maketitle

The following macros let you draw a (binary or ternary) tree of any size. 
For each "internal node", you only have to specify which are the descending
nodes, with a \verb|\branch| command (\verb|\tbranch| for ternary node.).
To this end, nodes are given a label (only used internally!).  These macros
will give you some ideas on designing similar things for, e.g., 
digital circuits. 
 
Trees are constructed with labels on the branches (default 0 and 1), and 
with text (e.g., its name or value) on the nodes.  The first parameter to
\verb|\branch| (0, 1, 2 or 3) determines the steepness of the branches.
 
Example:
\small
\begin{verbatim} 
\begin{picture}(100,100)(-50,10)
\unitlength=2mm
\branchlabels ABC       % 012 is the default
\root(2,10) 0.          % root at absolute coordinate (2,10) 
                        % its (internally used) label is 0
                        % the space before the 0 is obligatory
\branch2{16} 0:1,2.     % node 0 (i.e., the root) has children 1 and 2
                        % the text "1.00" is written above it
                        % space is optional, :,. are obligatory 
  \leaf{4}{$u_1$} 1.    % node 1 is a leaf
                        % "0.45" written above, "$u_1$" to the right
  \branch2{12} 2:3,7.   % branch to node 3 goes up, and has label A
    \tbranch2{9} 3:4,5,6.
      \leaf{4}{$u_3$}4. % the symbols 0--7 can be replaced by anything
      \leaf{3}{$u_4$}5.
      \leaf{2}{$u_5$}6.
    \leaf{3}{$u_2$}  7.
\end{picture}
\end{verbatim} 
\normalsize
will typeset something like:
\begin{flushleft}
\begin{picture}(100,100)(-50,10)
\unitlength=2mm
\branchlabels ABC
\root(2,10)          0.
\branch2{16}         0:1,2.
  \leaf{4}{$u_1$}    1.
  \branch2{12}       2:3,7.
    \tbranch2{9}     3:4,5,6.
      \leaf{4}{$u_3$}4.
      \leaf{3}{$u_4$}5.
      \leaf{2}{$u_5$}6.
    \leaf{3}{$u_2$}  7.
\end{picture}
\end{flushleft}
\end{document}