\author{Hideki ISOZAKI\\NTT Basic Research Labs \& Stanford Univ.}
\date{Nov. 30, 1990}
\addtolength{\textwidth}{12pt}
\begin{document}
\maketitle
\section{Setup}
Include epic.sty and ecltree.sty\footnote{Electrical Communications Labs}
in your \verb|\documentstyle|
option as below.
\begin{verbatim}
\documentstyle[epic,ecltree]{article}
\end{verbatim}
If your printer driver accepts tpic commands,
you should specify eepic.sty after epic.sty.
\begin{verbatim}
\documentstyle[epic,eepic,ecltree]{article}
\end{verbatim}
As eepic.sty redefines some macros defined in epic.sty,
Do not reverse this order.
\section{bundle environment}
A tree is drawn by {\it bundle} environment.
The {\it bundle} environment has one argument.
This argument specifies the top node label.
Leaves should be specified by \verb|\chunk| in this environment.
If you write
\begin{verbatim}
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{bbb}
\chunk{ccc}
\end{bundle}
\end{verbatim}
you get
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{bbb}
\chunk{ccc}
\end{bundle}.
You can nest the {\it bundle} environment.
If you write
\begin{verbatim}
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk{ccc}
\end{bundle}
\end{verbatim}
you get
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk{ccc}
\end{bundle}.
\section{Line attribute}
You can draw not only solid lines but also
dotted lines and dash lines.
epic.sty and eepic.sty define several commands for them.
If you want to use
\begin{verbatim}
\dashline[65]{3}(x1,y1)(x2,y2)
\end{verbatim}
to draw lines, use \verb|\drawwith| command
before (or in) the bundle environment.
\begin{verbatim}
\drawwith{\dashline[65]{3}}
\end{verbatim}
\drawwith{\dashline[65]{3}}
Then you get
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk{ccc}
\end{bundle}.
The argument of \verb|\drawwith| is evaluated
at \verb|\end{bundle}|. Hence, if you write
\begin{verbatim}
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\drawwith{\drawline}
\chunk{bbb}
\drawwith{\dashline[65]{3}}
\chunk{ddd}
\end{bundle}}
\drawwith{\dottedline{3}}
\chunk{ccc}
\end{bundle}
\end{verbatim}
you get
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\drawwith{\drawline}
\chunk{bbb}
\drawwith{\dashline[65]{3}}
\chunk{ddd}
\end{bundle}}
\drawwith{\dottedline{3}}
\chunk{ccc}
\end{bundle}.
You can nest the \verb|\drawwith|. If you write
\begin{verbatim}
\drawwith{\drawwith{\drawwith{\dottedline{3}}\drawline}\dashline{3}}
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\chunk{eee}
\end{bundle}}
\chunk{ccc}
\chunk{fff}
\end{bundle}
\end{verbatim}
you get
\drawwith{\drawwith{\drawwith{\dottedline{3}}\drawline}\dashline{3}}
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\chunk{eee}
\end{bundle}}
\chunk{ccc}
\chunk{fff}
\end{bundle}.
Thus the nested \verb|\drawwith| is used in the reverse order.
\section{Edge labels}
You can write edge labels. They should be specified as the optional
argument of \verb|\chunk|. Note that the width of an edge label
is neglected. If you write
\drawwith{\drawline}
\begin{verbatim}
\begin{bundle}{xxx}
\chunk[left]{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk[right]{ccc}
\end{bundle}
\end{verbatim}
you get
\begin{bundle}{xxx}
\chunk[left]{aaa}
\chunk{
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk[right]{ccc}
\end{bundle}.
\section{Spacing}
The {\it bundle} environment
has three parameters for spacing.
\begin{itemize}
\item \verb|\GapDepth| means minimum height of gaps between
adjacent nodes.
\item \verb|\GapWidth| means minimum width of gaps between
adjacent nodes.
\item \verb|\EdgeLabelSep| means height of an edge label
from the lower node of the edge.
\end{itemize}
You should set these parameters before the {\tt bundle} environment
if you dislike default values.
If you write
\begin{verbatim}
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\setlength{\GapDepth}{5pt}
\setlength{\GapWidth}{5pt}
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk{ccc}
\end{bundle}
\end{verbatim}
you get
\begin{bundle}{xxx}
\chunk{aaa}
\chunk{
\setlength{\GapDepth}{5pt}
\setlength{\GapWidth}{5pt}
\begin{bundle}{yyy}
\chunk{bbb}
\chunk{ddd}
\end{bundle}}
\chunk{ccc}
\end{bundle}.