From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/eclbip/ecltreesample.tex | 248 ++++++++++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 macros/latex/contrib/eclbip/ecltreesample.tex (limited to 'macros/latex/contrib/eclbip/ecltreesample.tex') diff --git a/macros/latex/contrib/eclbip/ecltreesample.tex b/macros/latex/contrib/eclbip/ecltreesample.tex new file mode 100644 index 0000000000..ef0b9746cc --- /dev/null +++ b/macros/latex/contrib/eclbip/ecltreesample.tex @@ -0,0 +1,248 @@ +\documentclass{article} +\usepackage{epic,eepic,ecltree} + +\title{A tree macro} + +\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 document as below: +\begin{verbatim} +\documentclass{article} +\usepackage{epic,ecltree} +\end{verbatim} +If your printer driver accepts tpic commands, +you should specify eepic.sty after epic.sty. +\begin{verbatim} +\usepackage{epic,eepic,ecltree} +\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}. + + + + +\end{document} + -- cgit v1.2.3