\documentclass[12pt,a4paper]{article}
\usepackage{avm}
\usepackage{xyling}
\usepackage{textcomp}
\usepackage{mflogo}
\usepackage{wasysym}


\setlength{\parindent}{0pt}
\setlength{\parskip}{1.5ex}

\title{\texttt{xyling} -- \LaTeX\ macros for linguistic graphics using the
  \texttt{xypic} module\\ version 1.1, July 31, 2006}

\author{Ralf Vogel\\Institut f\"ur Linguistik, Universit\"at Potsdam\\\tt
  rvogel@ling.uni-potsdam.de\\\tt http://www.ling.uni-potsdam.de/\~{}rvogel/xyling
} \date{December 31, 2004}
\frenchspacing\raggedbottom


\begin{document}\maketitle

This file explains the usage of the tree drawing macros in
\texttt{xyling.sty}. Please also inspect the style file which contains detailed
comments of the macros. These macros build on the \texttt{xypic} package by
Kristoffer H. Rose, version 3.7. 

\fbox{\parbox{.975\textwidth}{ \texttt{xypic} is loaded by \texttt{xyling.sty}
    with the \texttt{dvips} option in order to be able to produce coloured
    branches. This has a bad side effect: The use of the dvips option might
    cause branches to disappear when you produce a pdf file with
    \texttt{pdflatex}. Likewise, other packages that use postscript, like
    \texttt{pstricks}, might have such side effects. If you experience this,
    there are two ways of overcoming it:

\begin{enumerate}
\item erase the dvips option in the \texttt{xypic} call in line 57 of
  \texttt{xyling.sty}, i.e., use: \texttt{\textbackslash
    RequirePackage[color,all]\{xy\}}.  You will no longer be able to use
  coloured branches now, however. Similarly, you might have to avoid using
  other postscript packages, too.
 \item create the pdf file via dvips and ps2pdf conversion. This is how this
   documentation pdf file is created.
\end{enumerate} }}
 
Load \texttt{xyling} with \verb|\usepackage{xyling}|.

The macros in this package model the construction of syntactic tree structures
as a genuinely graphical problem: they contain three types of objects:

\begin{itemize}
\item the \emph{grid}
\item the \emph{node labels}
\item the \emph{branches}
\end{itemize}

The branches and nodes are positioned relative to the grid. It is
essential that each of these three elements is constructed independent of the
other two. They can be modified without unwanted side effects. This
is, to my mind, the most important difference to other tree drawing macro
packages, where, in particular, the label width often changes the angles of the
branches. 

A second major advantage to my mind lies in using the excellent \texttt{xypic}
package.  \texttt{xypic} generates \MF\ code, so the drawing of trees is not
dependent on postscript specials, as, e.g., in Wolfgang Sternefeld's
\texttt{ps-trees}. Hence, no postprocessing is required. The trees generated by
postscript specials can neither be seen in a dvi previewer (at least not in my
current version of \texttt{xdvi} for linux), nor can they be taken over into a
pdf file by \texttt{pdflatex} (but it works in dvi to pdf conversion with
\texttt{dvipdf}, or ps to pdf conversion with \texttt{ps2pdf}).


\section{The Grid}
\label{sec:grid}

A tree is a simple macro of the form \verb|\Tree{ ... }|. It is an \texttt{xymatrix}, with
\verb|&| as column separator and \verb|\\| as row separator. You should be
familiar with this structure from tabulars and similar structures.

\verb|\Tree| has an optional argument that can be used for changing the space
between columns. The default is 0, wich does not actually mean 0 space, but
rather the default space. A negative value makes the tree smaller, a positive
value makes it wider:

\begin{minipage}{.5\linewidth}
 \begin{tabular}{l@{~~=~~}l}
    \Tree{A & B} & \verb|\Tree{A & B}|\\
    \Tree[1]{A & B} & \verb|\Tree[1]{A & B}|\\
    \Tree[-1]{A & B} & \verb|\Tree[-1]{A & B}|
 \end{tabular}  
\end{minipage}


The distance between rows can also be controlled using the ``k''ontrolled version of
\verb|\Tree|, \verb|\Treek|, which has one more obligatory argument, the distance
between rows, which is defaulted to 2pc in \verb|\Tree|. Check the examples in table
\ref{tab:treek}.

 \begin{table}[htbp]
   \begin{center}
     \begin{tabular}{|l@{~~=~~}p{.5\linewidth}|}\hline
       \Tree{ & VP \\ V && NP } & \verb|\Tree{ & VP \\ Vzero && NP }|\\\hline
       \Treek{1}{ & VP \\ V && NP } & \verb|\Treek{1}{ & VP \\ V && NP }|\\\hline
       \Treek{3}{ & VP \\ V && NP } & \verb|\Treek{3}{ & VP \\ V && NP }|\\\hline
       \Treek{4}{ & VP \\ V && NP } & \verb|\Treek{4}{ & VP \\ V && NP }|\\\hline
     \end{tabular}\\\medskip
     \caption{Effects of the first argument of \textbackslash \texttt{Treek}}
     \label{tab:treek}
   \end{center}
 \end{table}
 \section{The Nodes}
 \label{sec:nodes}

A node is introduced with the command \verb|\K{...}|. Text is centered, both
horizontally and vertically! This means that text boxes might not be aligned on
the same baseline in \texttt{xypic}, using its standard command for text
insertion, \verb|\txt|. You can see this here:

\underline{\Tree{\txt{muss~~} \txt{musg~~} \txt{must~~} \txt{Muss~~} \txt{Musg~~}}}

The code:\\
\verb|\Tree{\txt{muss~~}| \verb|\txt{musg~~}| \verb|\txt{must~~}| \newline
\verb|\txt{Muss~~}| \verb|\txt{Musg~~}}| 

The command \verb|\K| contains a strut of 18pt to prevent this. This is perfect
for up to 12pt fonts:

\underline{\Tree{\K{muss~~} & \K{musg~~} & \K{must~~} &\K{Muss~~} & \K{Musg~~}}}

The code:\\ \verb|\Tree{\K{muss~~}&| \verb|\K{musg~~}&| \verb|\K{must~~}&|
  \verb|\K{Muss~~}&| \verb|\K{Musg~~}}| 

Node labels have the width 2pc, which is fine, because most node labels consist
of two upright letters, like NP, VP etc. Extremely wide labels do not affect the
matrix, because the node width is determined independently of the content of the
node -- by the value \verb|@W=2pc| in the definition of \verb|\Tree| and
\verb|\Treek|. 

\verb|\K| has an optional argument to move text freely horizontally -- measured
in pc. Positive values move the label to the right, negative values to the 
left. 1pc is about 0.5 em in a 12pt font. Horizontal adjustments are necessary
for wide nodes:

\Tree{
  & \K{VP}    \B{dl}\B{dr}    \\
  \K{\emph{very very very wide node}} & & \K{V$^0$} }

The code:\vspace{-2ex}
\begin{verbatim}
\Tree{                  & \K{VP}    \B{dl}\B{dr}    \\
  \K{\emph{very very very wide node}} & & \K{V$^0$}  }
\end{verbatim}

We have two solutions to this problem. The global one is widen the inter-column
space with the optional argument of \verb|\Tree|:

\Tree[1]{                               
                                    & \K{VP}  \B{dr}\B{dl} \\  
\K{\emph{very very very wide node}} &        & \K{V$^0$} \\
}

The code:\vspace{-2ex}
\begin{verbatim}
\Tree[1]{                         & \K{VP}  \B{dr}\B{dl} \\  
\K{\emph{very very very wide node}} &        & \K{V$^0$} }
\end{verbatim}

The second solution is moving the wide node a bit to the left, using the
optional argument of \verb|\K|:

 \Tree{
                                     & \K{VP}       \B{dl}\B{dr}  \\
 \K[-5]{\emph{very very very wide node}} &        & \K{V$^0$}  }

The code:\vspace{-2ex}
\begin{verbatim}
 \Tree{                         & \K{VP} \B{dr}\B{dl}  \\
 \K[-5]{\emph{very very very wide node}} & & \K{V$^0$}  }
\end{verbatim}

\verb|\Kk| offers full control over the vertical and horizontal dimension.  The
optional argument of \verb|\Kk| is the same as that of \verb|\K|, but there is
an additional obligatory argument denoting the vertical adjustment. So the
syntax is: \verb|\Kk[horizontal adjustment]{vertical adjustment}{node label}|.
The command \verb|\Kk[1]{1}{VP}| places the node VP 1pc right of and 1pc higher
than the standard position. This in fact allows you to put anything anywhere in
the tree.  You can add comments to the side of the tree etc. 

Often, especially in the terminal nodes, you might need more than one line of  
text. Use the command \verb|\Below| for putting text below text inserted by  
\verb|\K|. Check the following example:  

\begin{minipage}[t]{2cm}  
  \Tree{\K{NP}\B{d} \\ \K{the}\Below{little}\Below{dog}} 
\end{minipage} 
\begin{minipage}[t]{10cm} 
\begin{verbatim}   
\Tree{\K{NP}\B{d} \\    
\K{the}\Below{little}\Below{dog}}    \end{verbatim}   
\end{minipage}  

\verb|\Below|  has an optional argument for the vertical adjustment, negative  
value lowers the text, positive value raises it. There also exists a kontrolled 
version, \verb|Belowk|, which has the horizontal adjustment as its first  
obligatory argument in addition. 


\section{The Branches} 
\label{sec:branches} 

Branch commands are inserted in the same field as their dominating node. The 
simplest command is \verb|\B|. It has one obligatory argument, the description
of the target field. It is given in the steps it takes to reach it. For 
instance, \verb|\B{dl}| draws a branch to the field one step down and one step
left from the current field. Use \texttt{u} and \texttt{r} for upwards and 
rightwards steps. Upwards branches will strike through the label, however, so
this is not very useful. Branches should always go downwards. 
 
We are now ready to draw our first tree: 

\begin{center} \label{firsttree}
  \Tree{          & \K{VP}\B{dl}\B{dr} \\ 
    \K{NP}\B{d} &                  & \K{V$'$}\B{dl}\B{dr} \\ 
    \K{\emph{John}}& \K{V$^{0}$}\B{d} &   & \K{NP}\B{d}      \\ 
    & \K{\emph{loves}} & & \K{\emph{Mary}} } 
\end{center} 
This is the code:

\begin{verbatim}  
\Tree{          & \K{VP}\B{dl}\B{dr}                      \\  
    \K{NP}\B{d} &                  & \K{V$'$}\B{dl}\B{dr} \\ 
 \K{\emph{John}}& \K{V$^{0}$}\B{d} &   & \K{NP}\B{d}      \\ 
                & \K{\emph{loves}} &   &  \K{\emph{Mary}}   }\end{verbatim}  

\verb|\B| has an optional argument, the vertical adjustment of the starting  
position of the branch, negative value, e.g. \verb|\B[-1]{d}|, lowers the
starting position, positive value raises it.

Some grammar formalisms, require labels on branches -- like HPSG, where head
and complement are explicitly denoted with the labels $H$ and $C$. This is
quite easy to integrate. The command \verb|\B| is based on the \texttt{xypic}
command \verb|\ar| which has the option of putting a label on a line. It uses
the syntax of subscripting and superscripting, i.e., \verb|^{}| and
\verb|_{}|. If you put these commands right behind a branch command, you will
get labels on the branch, \verb|_{}| puts it on the branches left side, and
\verb|^{}| on its right. The label is written in math mode, i.e., slanted,
unless you specify it to be in normal text font with, e.g.
\verb|\textnormal{}|. Here comes an example:\footnote{Thanks to Doug Arnold
  for his suggestion to include this feature.}

\begin{center}
  \Tree{          & \K{VP}\B{dl}_{C}\B{dr}^{H}                      \\
    \K{NP}\B{d} &                  & \K{V$'$}\B{dl}_H\B{dr}^C \\
    \K{\emph{John}}& \K{V$^{0}$}\B{d} &   & \K{NP}\B{d}      \\
    & \K{\emph{loves}} & & \K{\emph{Mary}} }
            \end{center}
\begin{verbatim}
\Tree{          & \K{VP}\B{dl}_{C}\B{dr}^{H}               \\  
    \K{NP}\B{d} &               & \K{V$'$}\B{dl}_H\B{dr}^C \\ 
 \K{\emph{John}}& \K{V$^{0}$}\B{d} &   & \K{NP}\B{d}       \\ 
                & \K{\emph{loves}} &   &  \K{\emph{Mary}}   }
\end{verbatim}

There is no limitation on the number of branches either:

\Tree{    & \K{S} \B{dl}\B{d}\B{dr}\B{drr} \\
\K{NP}\B{d} & \K{V}\B{d} & \K{NP}\B{d} & \K{NP}\B{d} &     \\ 
      \K{John} & \K{gave} & \K{Mary} & \K[2]{cookies}  }
\begin{verbatim}
\Tree{      & \K{S} \B{dl}\B{d}\B{dr}\B{drr}             \\
\K{NP}\B{d} & \K{V}\B{d} & \K{NP}\B{d} & \K{NP}\B{d}     \\ 
   \K{John} & \K{gave}   & \K{Mary}    & \K[2]{cookies}  }
\end{verbatim}
    
HPSG is also famous for crossing branches in cases where the linear order
and the hierarchical structure do not match. You can, of course, also let
branches cross. There are no system specific limits to what kinds of trees
you might want to draw. An admittedly ugly looking example is the
following German object initial sentence:

\Tree[.5]{ & \K{VP}\B{dl}_{C}\B{dr}^{H} \\
\K{Subject}\B{dddrr} && \K{V$'$}\B{dl}_{H}\B{dr}^{C} \\ 
& \K{V$^{0}$}\B{dd} && \K{Object}\B{ddlll} \\ \\
\K{B\"ucher}\Below{books} & \K{kaufte} \Below{bought} 
& \K{Maria}\Below{Maria}
}
\begin{verbatim}
\Tree[.5]{ & \K{VP}\B{dl}_{C}\B{dr}^{H}              \\
\K{Subject}\B{dddrr} && \K{V$'$}\B{dl}_{H}\B{dr}^{C} \\ 
& \K{V$^{0}$}\B{dd} && \K{Object}\B{ddlll}           \\ \\
\K{B\"ucher}\Below{books} & \K{kaufte} \Below{bought} 
& \K{Maria}\Below{Maria}                                }
\end{verbatim}


We also have two kontrolled versions of the branching command, \verb|\Bkk| and
\verb|\Bk|. Both adjust the starting and target positions of branches. They have
three arguments, 1: adjustment of starting position, 2: adjustment of target
position, 3: destination. \verb|\Bk| only allows for vertical adjustments and
has numbers as its first two arguments. \verb|\Bkk| has comma-separated number
pairs as its first two arguments, for horizontal and vertical adjustment of
starting and target position. This gives you full control over the branches.
Some examples:

\begin{minipage}[t]{3cm}
  \fbox{\Treek{3} {\K{DP}\Below{[+definite]}\B[-5]{d}\\
      \K{\emph{the~bible}}}}
           \end{minipage}
           \begin{minipage}[t]{10cm}
\begin{verbatim}
 \fbox{\Treek{3}{\K{DP}\Below{[+definite]}
 \B[-5]{d}\\  \K{\emph{the~bible}} }} 
\end{verbatim}
 \end{minipage} 

\begin{minipage}[t]{3cm}
 \Tree{ & \K{XP} \B{dl}\B{dr}\Bkk{2,0}{2,0}{dr} \\ 
         \K{YP}    & & \K{ZP}}
\end{minipage}
\begin{minipage}[t]{10cm}
\begin{verbatim} 
\Tree{ & \K{XP}\B{dl}\B{dr}\Bkk{2,0}{2,0}{dr} \\ 
\K{YP}& & \K{ZP}}\end{verbatim}
\end{minipage} 


\section{Abbreviations}
\label{sec:abbreviations}

The usage of branching commands can be made much easier by the definition of
macros for most frequently used combinations. These are the ones defined in
\texttt{xyling.sty}. Define new ones if you need them and/or change those given
here: 

\begin{verbatim}
% \D goes to the position in the same column, one row below. 
% The optional argument is the vertical adjustment of the 
% starting position. 

\newcommand{\D}[1][0]{\B[#1]{d}} 
\newcommand{\Dk}[2]{\Bk{#1}{#2}{d}}

% \Dk is the \Bk version, i.e., it has two obligatory arguments 
% defining the vertical adjustments of starting position and 
% target position.

\newcommand{\DL}[1][0]{\B[#1]{dl}} 
\newcommand{\DLL}[1][0]{\B[#1]{dll}} 
\newcommand{\DLLL}[1][0]{\B[#1]{dlll}} 
\newcommand{\DR}[1][0]{\B[#1]{dr}} 
\newcommand{\DRR}[1][0]{\B[#1]{drr}} 
\newcommand{\DRRR}[1][0]{\B[#1]{drrr}} 

\newcommand{\DLk}[2][0]{\Bk{#1}{#2}{dl}} 
\newcommand{\DLLk}[2][0]{\Bk{#1}{#2}{dll}} 
\newcommand{\DLLLk}[2][0]{\Bk{#1}{#2}{dlll}} 
\newcommand{\DRk}[2][0]{\Bk{#1}{#2}{dr}} 
\newcommand{\DRRk}[2][0]{\Bk{#1}{#2}{drr}} 
\newcommand{\DRRRk}[2][0]{\Bk{#1}{#2}{drrr}} 

% Abbreviations for binary branches:

\newcommand{\V}[1][0]{\DL[#1]\DR[#1]}
\newcommand{\VV}[1][0]{\DLL[#1]\DRR[#1]}
\newcommand{\VR}[1][0]{\DL[#1]\DRR[#1]}
\newcommand{\VL}[1][0]{\DLL[#1]\DR[#1]}
\newcommand{\VVV}[1][0]{\DLLL[#1]\DRRR[#1]}
\newcommand{\VVR}[1][0]{\DLL[#1]\DRRR[#1]}
\newcommand{\VVL}[1][0]{\DLLL[#1]\DRR[#1]}
\newcommand{\VLL}[1][0]{\DLLL[#1]\DR[#1]}
\newcommand{\VRR}[1][0]{\DL[#1]\DRRR[#1]}

% Define more if you need them.

% Let's make further abbreviations. A default VP has a 
% \V branch. So let's define \VP accordingly, and likewise 
% Vbar, IP, CP etc.:

\newcommand{\VP}[1][]{\K{VP$_{#1}$}\V}
\newcommand{\Vbar}{\K[.5]{V$'$}\V}

\newcommand{\IP}[1][]{\K{IP$_{#1}$}\V}
\newcommand{\Ibar}{\K[.5]{I$'$}\V}

\newcommand{\CP}[1][]{\K{CP$_{#1}$}\V}
\newcommand{\Cbar}{\K[.5]{C$'$}\V}
\newcommand{\Nbar}{\K[.5]{N$'$}\V}

\newcommand{\PP}[1][]{\K{PP$_{#1}$}\V}
\newcommand{\DP}[1][]{\K{DP$_{#1}$}\V}

\newcommand{\AuxP}[1][]{\K{IP$_{#1}$}\V}
\newcommand{\Auxbar}{\K[.5]{I$'$}\V}

% Nodes reasonably without branch:

\newcommand{\NP}[1][]{\K{NP$_{#1}$}}
\newcommand{\Nzero}[1][]{\K[1]{N$^{0}_{#1}$}}
\newcommand{\Vzero}[1][]{\K[1]{V$^{0}_{#1}$}}
\newcommand{\Izero}[1][]{\K{I$^{0}_{#1}$}}
\newcommand{\Auxzero}[1][]{\K{I$^{0}_{#1}$}}
\newcommand{\Czero}[1][]{\K{C$^{0}_{#1}$}}
\newcommand{\Pzero}[1][]{\K{P$^{0}_{#1}$}}
\newcommand{\Dzero}[1][]{\K{D$^{0}_{#1}$}}

% Note that all of these commands, except for the 
% Xbar nodes, have an optional argument for an index. 
% If you use indices longer than one letter, you might
% need to do horizontal adjustment and have to use 
% \K instead.

% This default system only needs new nodes for the 
% terminals. Let's define \T parallel to \K. 
% \T has a vertical branch to the upper node, text is
% italicised. The optional argument, as before, 
% allows for horizontal adjustment of the text:

\newcommand{\T}[2][0]{\POS[]\POS+(0,2) 
\ar@{-}[u]-(0,4) \POS[]\K[#1]{\textit{#2}}}
\end{verbatim}

The code for the tree on page \pageref{firsttree} can now be reduced
dramatically: 

\begin{verbatim}
\Tree {            &    \VP                       \\ 
          \NP      &           & \Vbar            \\ 
       \T{John}    &  \Vzero   &        &  \NP    \\  
                   & \T{loves} &        & \T{Mary}
      }
\end{verbatim}  

Here is the tree, just to assure you:

\begin{center}
  \Tree {   & \VP                   \\
    \NP &       & \Vbar         \\
    \T{John}&\Vzero &    & \NP      \\
    &\T{loves} & & \T{Mary} }
    \end{center}

Chomskyan syntacticians like movement traces, here is one:

\begin{verbatim}
\newcommand{\Trace}[1][i]{\K[0.5]{t$_{#1}$}}
\end{verbatim}

The optional argument, as with the \verb|\XP|, \verb|\Xzero| commands above, is
the index, here defaulted to `\texttt{i}'. 



\section{Triangles}
\label{sec:triangles}

Phrase structure trees often use triangles as abbreviations for larger
structures which shall not be fledged out in full detail. The command
\verb|\TRi| can be used instead of branching commands, introducing a
triangle:\footnote{Notice that the top node in this tree, S, is inserted exactly
  in the middle between two columns -- due to the horizontal adjustment of
  5.2pc. The horizontal distance between the centers of two neighbour fields is
  10.4pc. The command \texttt{\textbackslash Bkk} is then used to get symmetric
  branches from this position, by adjusting the starting position horizontally
  by 5.2pc. You see that the label and branch placement are not limited to the
  possibilities specified by the grid. It only provides a usually satisfactory
  default.}

\begin{center}
  \Tree{ && \K[5.2]{S}\Bkk{5.2,0}{0,0}{dl}\Bkk{5.2,0}{0,0}{drr}\\ 
         &\NP\TRi &&& \VP \\
& \K{\emph{my beloved}}\Below{\emph{wife}} &&\Vzero && \NP\TRi[2] \\ 
&   && \T{likes}&&\K{\emph{our old house}}
       }
\end{center}

\begin{verbatim}
  \Tree{ && \K[5.2]{S}\Bkk{5.2,0}{0,0}{dl}
                      \Bkk{5.2,0}{0,0}{drr}           \\ 
         &\NP\TRi &&      &    \VP                    \\
& \K{\emph{my beloved}}\Below{\emph{wife}} &&
                  \Vzero  &&            \NP\TRi[2]    \\ 
            &&& \T{likes} && \K{\emph{our old house}} 
       }
\end{verbatim}

Triangles need the nodes they refer to in the next lower row, in particular,
don't forget the node [d] from the insertion point of the triangle. You will
get an error message otherwise. The text below the triangle is inserted in the
field [d] from the insertion point

Notice also that the first column in the tree is empty. It's only purpose is
providing a field for the left bottom edge of the left triangle.

\verb|\TRi| is a symmetric triangle. It has an optional argument, the horizontal
adjustment, negative value makes it narrower, positive value makes it wider, as
exemplified in the triangle for `\emph{our old house}' in the tree above.


\verb|\DTRi| and \verb|\TRiD| are rectangles, \verb|\DTRi| has a [d] branch on
the left, \verb|\TRiD| on the right, the optional argument allows for horizontal
adjustment.

The kontrolled version of the triangle, \verb|\Trik|, has two obligatory
arguments for the left and right horizontal adjustment, which can be specified
separately here. This potentially leads to asymmetric triangles. The syntax
is:\newline \verb|\TRik{left}{right}|, where \verb|\TRik{0}{0} = \TRi[0] = \TRi|.



\section{Links}
\label{sec:links}

It occurs very frequently that relations between elements of a tree shall be
indicated with linking arrows, for instance to illustrate syntactic movement.
Links are inserted with the commands \verb|\Link| and \verb|Linkk|. Both have as
optional argument the line style, which could be one of
\verb|-,->,<-,.,.>,<.,--,|\linebreak \verb|-->,<--,| a.o. \verb|\Linkk| has as
its first argument the curving specification. It is defaulted to 1.33pc in
\verb|\Link|. This might not be sufficient in many cases. The second obligatory
argument of \verb|\Linkk| and the first obligatory argument of \verb|\Link| is
the destination field specification.

\begin{center}
  \Tree{    & \CP \\
    \NP[j] && \Cbar \\
    \T{What}& \Czero[i] && \IP \\
    &\T{did} & \NP && \Ibar \\
    &      &\T{John}&\Trace\Linkk[-->]{2.5}{llu}&&\VP \\
    &      &        &&\Vzero && \Trace[j]\Linkk[.>]{4.5}{-3,-6}\\
    & & &&\T{say}&& }
\end{center}

The code is as follows:

\begin{verbatim}
\Tree{    & \CP \\ 
       \NP[j] && \Cbar \\
       \T{What}& \Czero[i] && \IP \\
              &\T{did} & \NP && \Ibar \\
              &      &\T{John}&\Trace
                           \Linkk[-->]{2.5}{llu}&&\VP \\
              &      &        &&\Vzero && \Trace[j]
                            \Linkk[.>]{4.5}{-3,-6}\\ 
              &      &        &&\T{say}&&               }

\end{verbatim}

Note that it is possible to specify the target location in terms of the number
of `hops', as done for the long link here: \verb|\Linkk[.>]{4.5}{-3,-6}| states
that the target of the link is 3 fields up and 6 fields left of the current
field. This is shorter than specifying it with ``\texttt{uuullllll}''. 

English affix hopping according to Chomsky (1981):

\begin{minipage}[t]{5cm}
  \Tree{ & \IP \\ 
    \NP  &  & \Ibar \\
         &\Izero\D& & \VP \\
         &\Trace  &\Vzero\D & & \NP \\ 
         &        &\K[6]{V+INFL}\Link[<-]{-1,-1}
       }
\end{minipage}
\begin{minipage}[t]{9cm}
\begin{verbatim}
 \Tree{ & \IP                       \\ 
   \NP  &  & \Ibar                  \\
        &\Izero\D& & \VP            \\
        &\Trace  &\Vzero\D & & \NP  \\ 
        &   &\K[6]{V+INFL} \Link[<-]{ul}
       }
\end{verbatim}
\end{minipage}

Finally, the commands \verb|\Link| and \verb|\Linkk| link labels to the left of
the tree. Links which are to the right of the tree, on its top, are specified
with \verb|\UpLink| and \verb|\UpLinkk|:

\begin{minipage}[t]{4cm}
  \Tree{ & \IP \\ \NP &&\Ibar \\ & \Izero &&\K{VP} \UpLink{-2,-2}}
\end{minipage}
\begin{minipage}[t]{8cm}
\begin{verbatim}
\Tree{ & \IP   \\ 
 \NP &   &\Ibar \\ 
     & \Izero &&\K{VP} \UpLink{-2,-2}}
\end{verbatim}
\end{minipage}



\section{Highlighting}
\label{sec:highlighting}

Node labels are often highlighted with surrounding circles or squares, and, in
particular in presentations, with colours. Several ways of doing this are
integrated in \texttt{xyling}. 


\subsection{Highlighting sections of a tree with a rectangle}
\label{sec:treesection}

The command \verb|\QS| draws a rectangle around two fields of the tree specified
by their absolute address. The syntax of the command is: \\
\verb|\QS[line style]{top left corner}{bottom right corner}|. The absolute
address of a field is a number pair. The field ``1,1'' is the top left field of
the grid. The fields in the first row are 1,1 1,2 1,3 etc. Those in the second
row are 2,1 2,2 2,3 etc. Because the field addresses are given in absolute
terms, it makes no difference where within the \verb|\Tree| specification a
\verb|\QS| command appears:

\begin{minipage}[t]{4cm}
  \Tree{ & \VP \\ \NP && \Vbar \\ & \Vzero && \NP \QS{1,1}{2,3}
                                               \QS[.]{2,2}{3,4}
       }
\end{minipage}
\begin{minipage}[t]{10cm}
\begin{verbatim}
  \Tree{     & \VP            \\ 
         \NP &    & \Vbar     \\ 
             & \Vzero && \NP \QS{1,1}{2,3}
                          \QS[.]{2,2}{3,4}
       }
\end{verbatim}
\end{minipage}


\subsection{Highlighting node labels with circles and squares}
\label{sec:circles}

The command \verb|\OO| draws a circle around the node label in the current
field. The command \verb|\QQ| draws a square around it:

\begin{minipage}[t]{4cm}
  \Tree{     & \VP            \\
    \NP\OO &    & \Vbar     \\
    & \Vzero && \NP\QQ }
     \end{minipage}
\begin{minipage}[t]{10cm}
\begin{verbatim}
  \Tree{   & \VP               \\
    \NP\OO &    & \Vbar        \\
           & \Vzero && \NP\QQ    }
\end{verbatim}
\end{minipage}

As you can see, the branches go inside the circles and squares. We need to define
branches which start and/or end at circles or squares.  

The following are branches that always work. Starting point for all branches is
the same point on the circle. This makes branches rather short, and changes the
angles of diagonal branches:


\begin{verbatim}
\newcommand{\BoO}[1]{\Bk{-1.2}{1.2}{#1}} 
% branch with circled start and target

\newcommand{\Bo}[1]{\Bk{-1.2}{0}{#1}}    
% branch with circled start

\newcommand{\BO}[1]{\Bk{0}{1.2}{#1}}     
% branch with circled target
\end{verbatim}

\begin{minipage}[t]{4cm} 
  \Tree{ & \K{VP}\OO\Bo{dl}\Bo{dr} \\
    \NP  &    & \Vbar              \\
    & \Vzero && \NP\QQ }
     \end{minipage}
\begin{minipage}[t]{10cm} 
\begin{verbatim}
  \Tree{ & \K{VP}\OO\Bo{dl}\Bo{dr} \\
    \NP  &    & \Vbar              \\
    & \Vzero && \NP\QQ }
\end{verbatim}
\end{minipage}
 
The two \texttt{[dl]} and \texttt{[dr]} branches are no longer parallel. To get
this, the branches should start at different sides of the circle, as if they
initiated at the old position within the circle:

\begin{verbatim}
\newcommand{\DRo}[1][dr]{\Bkk{1.6,-1}{0,0}{#1}}
\newcommand{\DLo}[1][dl]{\Bkk{-1.6,-1.0}{0,0}{#1}}

\newcommand{\DRoO}[1][dr]{\Bkk{1.6,-1}{-1.8,1}{#1}}
\newcommand{\DLoO}[1][dl]{\Bkk{-1.6,-1}{1.8,1}{#1}}

\newcommand{\DRO}[1][dr]{\Bkk{0,0}{-1.8,1}{#1}}
\newcommand{\DLO}[1][dl]{\Bkk{0,0}{1.8,1}{#1}}
\end{verbatim}

This helps:

\begin{minipage}[t]{4cm} 
  \Tree{ & \K{VP}\OO\DLo\DRo \\
    \NP  &    & \Vbar              \\
    & \Vzero && \NP\QQ }
     \end{minipage}
\begin{minipage}[t]{10cm} 
\begin{verbatim}
  \Tree{ & \K{VP}\OO\DLo\DRo \\
    \NP  &    & \Vbar        \\
    & \Vzero && \NP\QQ }
\end{verbatim}
\end{minipage}

The same has to be done with branches to and from squares:

\begin{verbatim}
\newcommand{\DRq}[1][dr]{\Bkk{1.5,-1}{0,0}{#1}}
\newcommand{\DLq}[1][dl]{\Bkk{-1.5,-1}{0,0}{#1}}

\newcommand{\DRQ}[1][dr]{\Bkk{0,0}{-2,1}{#1}}
\newcommand{\DLQ}[1][dl]{\Bkk{0,0}{2,1}{#1}}

\newcommand{\DRqQ}[1][dr]{\Bkk{1.5,-1}{-2,1}{#1}}
\newcommand{\DLqQ}[1][dl]{\Bkk{1.5,-1}{2,1}{#1}}

\newcommand{\DRoQ}[1][dr]{\Bkk{1.5,-1}{-2,1}{#1}}
\newcommand{\DLoQ}[1][dl]{\Bkk{-1.5,-1}{2,1}{#1}}

\newcommand{\DRqO}[1][dr]{\Bkk{1.6,-1}{-1.8,1}{#1}}
\newcommand{\DLqO}[1][dl]{\Bkk{1.6,-1}{1.8,1}{#1}}

\newcommand{\Dq}{\Dk{-1.1}{0}} 
               % only squared starting node
\newcommand{\DQ}{\Dk{0}{1}} 
               % only squared target node
\newcommand{\DqO}{\Dk{-1.1}{1.2}} 
               % squared start and circled target
\newcommand{\DoQ}{\Dk{-1.3}{1}} 
               % circled start and squared target
\newcommand{\DqQ}{\Dk{-1.1}{1}} 
               % square start and squared target
\end{verbatim}

\begin{minipage}[t]{4cm} 
  \Tree{ & \K{VP}\OO\DLo\DRo       \\
    \NP  &    & \K{V$'$}\DL\DRQ \\
    & \Vzero && \NP\QQ }
     \end{minipage}
\begin{minipage}[t]{10cm} 
\begin{verbatim}
  \Tree{ & \K{VP}\OO\DLo\DRo    \\
    \NP  &    & \K{V$'$}\DL\DRQ \\
         & \Vzero &&    \NP\QQ    }
\end{verbatim}
\end{minipage}

The style file contains many abbreviations for the branch commands including
circles and squares around node labels.



\subsection{Highlighting with Colours}
\label{sec:colours}

Especially in presentations,  colours are an option for highlighting
parts of a tree. \texttt{xypic} uses the postscript extensions to make this
possible. Check the \texttt{xypic} documentation for more on colours, especially
for defining new colours. I defined blue, red, green and gray versions of the
standard commands \verb|\Bkk| and \verb|\Kk| and the commands derived from
them. So it is quite painless to integrate colour:

\begin{minipage}[t]{5cm}
  \Tree{               & \Kred{IP}\Vred \\
    \Kblue{NP}\Bblue{d} &  & \Kred{I$'$}\Vred \\
    \Tblue{John} & \Kred{I$^{0}$} && \Kgray{VP} \Vgray \\
    && \Kgreen{t}\Linkblue{ull}&&\Kgray{V$'$}\Vgray\\
    &&&\Kgray{V$^{0}$}&& \Kgray{NP} }
\end{minipage}
\begin{minipage}[t]{8cm}
\begin{verbatim}
\Tree{               
      & \Kred{IP}\Vred \\
      \Kblue{NP}\Bblue{d} && 
             \Kred{I$'$}\Vred \\
      \Tblue{John}& \Kred{I$^{0}$} && 
                  \Kgray{VP} \Vgray \\
      && \Kgreen{t}\Linkblue{ull}&&
                  \Kgray{V$'$}\Vgray\\
      &&&\Kgray{V$^{0}$}&& \Kgray{NP} }
\end{verbatim}
\end{minipage}

There also are macros for coloured circles and squares around nodes. They are
called \verb|\OOred, \QQred| etc. But they do not fully function yet. They have
to be inserted as first element within a field, right after the \verb|&|, and
must be followed by an empty group, \verb|{}|.

\section{Other Structures}
\label{sec:other}

\subsection{Lexical Functional Grammar}

On the basis of the general commands for grids, labels and branches, it is easy
to define commands for other phrase structure formats, or any kind of graphical
object that mixes text and lines. The following macros help drawing LFG trees:

\begin{verbatim}
\newcommand{\Treelfg}[2][0]{\Treek[#1]{3}{#2}}  
\newcommand{\Klfg}[2][]{%
 \K{$\uparrow _{\textsc{\scriptsize #1}}=\downarrow$}\Below{#2}}  
\newcommand{\Blfg}[1]{\Bk{-5}{0}{#1}}
\newcommand{\Vlfg}{\Blfg{dl}\Blfg{dr}}
\end{verbatim}

Note that \verb|\Klfg| produces two lines: The inheritance specification and the
category label. The optional argument is the grammatical function, which, if
available, is indexed to the \verb|$\uparrow$| in the first line. Here comes an
example:  \vspace*{-3ex}

\begin{minipage}[t]{4.5cm}
\Treelfg{             & \Kk{-5}{S}\Vlfg\\
 \Klfg[su]{NP}\Blfg{d} &            &\Klfg{VP} \Vlfg\\
 \Klfg{N$^{0}$}\Blfg{d}&\Klfg{V$^{0}$}\Blfg{d} && \Klfg[ob]{NP}\Blfg{d} \\
 \K{\emph{John}} &\K{\emph{loves}}& & \K{\emph{Mary}}}
\end{minipage}
\begin{minipage}[t]{9cm}
\begin{verbatim}

\Treelfg{             
            & \Kk{-5}{S}\Vlfg           \\ 
\Klfg[su]{NP}\Blfg{d} &  &\Klfg{VP}\Vlfg\\
\Klfg{N$^{0}$}\Blfg{d}&\Klfg{V$^{0}$}
\Blfg{d}    && \Klfg[ob]{NP}\Blfg{d}    \\
\K{\emph{John}} &\K{\emph{loves}}& & 
                           \K{\emph{Mary}}
        }
\end{verbatim}
\end{minipage}

Much of this can be abbreviated in the manner exemplified above. Feel free to do
so. Command names like \verb|\Klfg| etc. could, of course, also be shortened. 


\subsection{Head Driven Phrase Structure Grammar}

The following structure is from the HPSG introduction book ``Syntactic
Theory. A Formal Introduction'' (second edition, 2003) by Sag, Wasow \&\
Bender, page 207:

\newcommand{\AVMone}{\begin{avm}\@1NP$_{i}$\end{avm}}
\newcommand{\AVMtwo}{\begin{avm} \[ SPR & \q< \@1 \q> \\ COMPS & \q<~ \q> \] \end{avm}}
\newcommand{\AVMthree}{\begin{avm} \[ SPR & \q< \@1 \q> \\ COMPS & \q< \@2 \q> \\
                                      ARG-ST & \q< \@1 , \@2 \q> \]            \end{avm}} 
\newcommand{\AVMfour}{\begin{avm}\@2NP$_{i}$\end{avm}}

 \Treek[3]{3}{ & \K{S}\V \\ \Kk{-1}{\AVMone}\D && \K{VP}
   \Below[-4]{\AVMtwo}\B[-13]{ddl}\B[-13]{ddr}
 \\\K{They} \\
  & \K{V} \Below[-6]{\AVMthree} && \Kk{-1}{\AVMfour}\B{dd}\\ &\K{}\D[-1] \\ &\K{saw} && \K{themselves}}

How did we draw the tree? First, we use Christopher Manning's avm.sty to define the AVM
structures of each node separately:

\begin{verbatim}
\newcommand{\AVMone}{\begin{avm}\@1NP$_{i}$\end{avm}}
\newcommand{\AVMtwo}{\begin{avm} 
                      \[    SPR & \q< \@1 \q> \\ 
                          COMPS & \q<~ \q> \] \end{avm}}
\newcommand{\AVMthree}{\begin{avm} 
               \[   SPR & \q< \@1 \q> \\ 
                  COMPS & \q< \@2 \q> \\
                 ARG-ST & \q< \@1 , \@2 \q> \] \end{avm}} 
\newcommand{\AVMfour}{\begin{avm}\@2NP$_{i}$\end{avm}}
\end{verbatim}

Next, we make up the tree, and call the four AVM nodes within \verb|\K| or
\verb|\Below|. The most tricky issue is the determination for the tree widths and how to
deal with the unequal sizes of the nodes. As you see in the code below, I exploited
three features of xyling: setting row and column distance to a new value, adjusting
branches, and the huge nodes VP and V were extended over two rows!

\footnotesize
\begin{verbatim}
   \Treek[3]{3}{   & \K{S}\V \\                                   % adjust grid!
\Kk{-1}{\AVMone}\D && \K{VP}
                    \Below[-4]{\AVMtwo}\B[-13]{ddl}\B[-13]{ddr}\\ % Branches go ddr/ddl!
       \K{They}                                                \\ % skipped row for VP!
                & \K{V} 
               \Below[-6]{\AVMthree} && \Kk{-1}{\AVMfour}\B{dd}\\ % Branch goes dd!
                &\K{}\D[-1]                                    \\ % Branch starts here!
                &\K{saw}             && \K{themselves}}

\end{verbatim}
\normalsize

Note an incompatibility of avm.sty: When I first experimented with xyling.sty and
avm.sty, the linebraks in my avm's disappeared. It took me a while to figure out that
this was not due to xyling, but caused by the tabularx package which I had loaded for
another purpose. So, if you use avm.sty, don't use tabularx!

\subsection{Arrows in Text}
\label{sec:text}

Even when we do not use trees, but only strings or bracketed notations, we
sometimes want to express relations between elements within these notations by
arrows. It is possible to use \texttt{xyling} macros for this, too. We first
define a new grid, \verb|\TExt|. It has an obligatory argument -- the text,
which can be split into several fields by the field separator \verb|&|. The
distance between fields is set to 0, such that even parts of words can be put in
subsequent fields without visible effect:

\begin{minipage}[t]{3cm} 
  \TExt{\textnormal{nood} & \textnormal{les}&\textnormal{~~}&
    \textnormal{noodles}}
\end{minipage}  
\begin{minipage}[t]{8cm} 
\begin{verbatim}
  \TExt{\textnormal{nood} & \textnormal{les} & 
        \textnormal{~~} & \textnormal{noodles}}\end{verbatim}
\end{minipage}

The fields within the \verb|\TExt| environment are inserted with \verb|\Txt| or 
\verb|\TXT|. They mainly provide a strut to yield correct horizontal alignment. 
\verb|\Txt| has a blank before the text, \verb|\TXT| has none. I.e., if a word
is split over two fields, the second part of the word should be introduced with 
\verb|\TXT|.  Likewise, the first word of the whole string.

The arrows differ in their depths, such that several arrows can be used within
one \verb|\TExt| without overlapping. The narrowest connector is called
\verb|SCOn|, we then have \verb|\COn, \COnn| and \verb|\COnnn|. They have an
optional argument for the line style, \verb|-| for solid, \verb|--| for dashed,
\verb|.| for dotted. The commands are inserted at the starting point of the
arrow. The obligatory argument is the target field destination, e.g.
\texttt{[ll]}, \texttt{[r]} etc. A simple example:

\begin{minipage}[t]{5cm}
  \TExt{\TXT{What} & \Txt{did you see} & \Txt{t}\COn{ll} & \Txt{?}}
\end{minipage}
\begin{minipage}[t]{9cm}
\begin{verbatim}
\TExt{\TXT{What} & \Txt{did you see} & 
\Txt{t}\COn{ll} & \Txt{?}}
\end{verbatim}
\end{minipage}

The command \verb|\COnk| allows for control of the link depth with its first
obligatory argument. The other arguments are as before. 

We also have connectors with labels, which can be above or below the arrow. This
depends on whether the arrow goes from left to right or vice versa. \verb|\COnl|
with right to left yields a label above the arrow:

\begin{minipage}[t]{5cm}
  \TExt{\TXT{What} & \Txt{did you see} & \Txt{t}\COnl{ll}{movement} & \Txt{?}}
\end{minipage}
\begin{minipage}[t]{9cm}
\begin{verbatim}
\TExt{\TXT{What} & \Txt{did you see} & 
\Txt{t}\COnl{ll}{movement} & \Txt{?}}
\end{verbatim}
\end{minipage}

\begin{minipage}[t]{5cm}
  \TExt{\TXT{What} & \Txt{did you see} & \Txt{t}\COnr{ll}{movement} & \Txt{?}}
\end{minipage}
\begin{minipage}[t]{9cm}
\begin{verbatim}
\TExt{\TXT{What} & \Txt{did you see} & 
\Txt{t}\COnr{ll}{movement} & \Txt{?}}
\end{verbatim}
\end{minipage}

\subsection{Autosegmental Phonology}

Not being an phonologist, I can only offer some beginner's applications, but I will
gladly add macros that you might supply. Just send them to me. Here is one application
that is based on the previously introduced \verb|\TExt| matrix. It is not limited to
having just one row, and one application of this feature are the structures used in
autosegmental phonology. Have a look at this:

\TExtk[1]{1}{ 
\Tname[5]{Root tier:}&
\Sl{k}    &      & \Sl{t}   &      &\Sl{b}    &      \\
\Tname[5]{Skeletal tier:}&
\Sl{C}\Lnu&\Sl{V}&\Sl{C}\Lnu&\Sl{V}&\Sl{C}\Lnu&\Sl{V}\\
\Tname[5]{Vocalic melody tier:}&
          & \Sl{a}\Lnu\Lnd{urr}\Lnd{urrrr} 
}

The code uses the kontrolled matrix for text, \verb|\TExtk|, with inter-column
space in pc as mandatory argument, and inter-row space in pc as optional argument. The
command \verb|\Sl| provides the slots of the tier. At the beginning of each row, the
tier's name is given with the macro \verb|\Tname| which has as optional argument the
name width in cm. Links between slots are variants of our branch commands, \verb|\Ln|
draws a solid line, and \verb|\Lnd| a dashed line. \verb|\Lnu| is an abbreviation for
\verb|\Ln{u}|. Define more macros, if you need them. By the way, the example above is
Arabic for `he/she wrote'. This is the code:\newpage

\begin{verbatim}
\TExtk[1]{1}{ 
\Tname[5]{Root tier:}&
\Sl{k}    &      & \Sl{t}   &      &\Sl{b}    &      \\
\Tname[5]{Skeletal tier:}&
\Sl{C}\Lnu&\Sl{V}&\Sl{C}\Lnu&\Sl{V}&\Sl{C}\Lnu&\Sl{V}\\
\Tname[5]{Vocalic melody tier:}&
          & \Sl{a}\Lnu\Lnd{urr}\Lnd{urrrr} 
}
\end{verbatim}


\subsection{Graphical Schemata -- Arrows instead of lines}

The branching command is based on the \texttt{xypic} arrow command
\verb|\ar|. It can do a lot more than just drawing solid lines. It can, for
instance, draw arrows. As this is sometimes useful, we integrate an arrow
command, \verb|\AR|:

\begin{verbatim}
\newcommand{\ARkk}[3]{\POS[]-(0,4)+(#1)\ar@{->}[#3]+(0,2)+(#2)}
\newcommand{\ARk}[3]{\ARkk{0,#1}{0,#2}{#3}}
\newcommand{\AR}[2][0]{\ARk{#1}{0}{#2}}
\end{verbatim}

This helps us draw the GB schema:

\begin{minipage}[t]{4cm}
\fbox{%
  \Treek[.5]{3}{ & \K{D-Structure}\AR{d} \\
    & \K{S-Structure} \AR{dl}\AR{dr}\\
    \K{LF} & & \K{PF} }}
\end{minipage}
\begin{minipage}[t]{10cm}
  The code is rather small:
\begin{verbatim}
\fbox{
  \Treek[.5]{3}{ 
         & \K{D-Structure}\AR{d}         \\
         & \K{S-Structure} \AR{dl}\AR{dr}\\
    \K{LF} &          & \K{PF}           } 
     }
\end{verbatim}
\end{minipage}

We can also use alternative line styles, like dashes, dots, and waves:


\begin{verbatim}
\newcommand{\Bdot}[2][0]{\POS[]-(0,4)\POS+(0,#1)%
                         \ar@{.}[#2]+(0,2)}
\newcommand{\ARdot}[2][0]{\POS[]\POS-(0,4)\POS+(0,#1)%
                         \ar@{.>}[#2]+(0,2)}

\newcommand{\Bdash}[2][0]{\POS[]-(0,4)\POS+(0,#1)%
                         \ar@{--}[#2]+(0,2)}
\newcommand{\ARdash}[2][0]{\POS[]\POS-(0,4)\POS+(0,#1)%
                         \ar@{-->}[#2]+(0,2)}

\newcommand{\Bwav}[2][0]{\POS[]-(0,4)\POS+(0,#1)%
                         \ar@{~}[#2]+(0,2)}
\newcommand{\ARwav}[2][0]{\POS[]\POS-(0,4)\POS+(0,#1)%
                          \ar@{~>}[#2]+(0,2)}
\end{verbatim}\enlargethispage{-2\baselineskip}

Joost Kremers, University of Frankfurt/Main, $<$j.kremers@em.uni-frankfurt.de$>$, has
kindfully defined a ``generalised branch'' command that I happily integrate here:

\begin{verbatim}
\newcommand{\GBkk}[4]{\POS[]-(0,4)+(#1)\ar@{#4}[#3]+(0,2)+(#2)}
\newcommand{\GBk}[4]{\GBkk{0,#1}{0,#2}{#3}{#4}}
\newcommand{\GB}[3][0]{\GBk{#1}{0}{#2}{#3}}
\end{verbatim}

The branch commands are the same as the \verb|\Bkk|, \verb|\Bk| and \verb|\B| commands,
except that they have one more mandatory argument, and the final mandatory argument is
the line style, which can be as follows:


\begin{tabular}[t]{ll}
  - &solid line \\
 -- &dashed line \\
 = &double line \\
 == &dashed double line \\
 . &dotted line \\
 : &dotted double line \\
 \texttildelow &wavy line \\
 \texttildelow\texttildelow &dashed wavy line \\
\end{tabular}

To yield arrows, you only need to extend the line style with leading or final \verb|<|
or \verb|>|, as e.g. in \verb|\GB{=>}{dl}|. 

\Tree{ & \K{VP}\GB{dl}{=}\GB{dr}{=}\\ && }
\begin{minipage}{.5\linewidth}
\begin{verbatim}
\Tree{ & \K{VP}\GB{dl}{=}\GB{dr}{=}\\ && }
\end{verbatim}
  \end{minipage}
  
The minimalist syntax model is often schematised with a dashed arrow to PF:

\begin{minipage}[t]{3.5cm}
  \fbox{
    \Treek{2.5}{ \K{\emph{Lexicon}}\AR{dd}  \\
      \ARdash[3]{dr} & \K{\emph{Spell-out}}\\
      \K{LF} & \K{PF} } }
   \end{minipage}
   \begin{minipage}[t]{10cm}
\begin{verbatim}
\fbox{
 \Treek{2.5}{ 
 \K{\emph{Lexicon}}\AR{dd}  \\
    \ARdash[3]{dr} & \K{\emph{Spell-out}}\\
         \K{LF}    & \K{PF} } }\end{verbatim}
   \end{minipage}

It might sometimes be useful to have branches and arrows to the field on the
right in the same row. The command \verb|\R| makes this possible. The syntax is:
\verb|\R[line style]{destination}|. If you want to, you can write phrase
structure rules that way {\ldots} {\large\smiley} {\ldots} :

\Tree[-1]{\K{S}\R[->]{rr} && \K[5]{NP~~VP}} 

\verb|\Tree[-1]{\K{S}\R[->]{rr} && \K[5]{NP~~VP}}| 

Versions of \verb|\R| that link circles and squares are also defined in
\texttt{xyling.sty}. Another funny application are neural nets:
\begin{center}
\fbox{
  \begin{minipage}[t]{.75\textwidth}~\\
    \Treek[.5]{4}{\K[-2]{\emph{Layer 1}}&&& 
      \OO \DLLoO\DLoO \DoO \DRoO\DRRoO\DRRRoO\DRoO[drrrr]& 
      \OO \DLLLoO\DLLoO\DLoO \DoO \DRoO\DRRoO\DRRRoO & 
      \OO \DLoO[dllll]\DLLLoO\DLLoO\DLoO \DoO \DRoO\DRRoO \\ 
      \K[-2]{\emph{Layer 2}}& 
      \OO \BoO{drr}\BoO{drrr}\BoO{drrrr} \RoO{r} & 
      \OO \BoO{dr}\BoO{drr}\BoO{drrr} \RoO{r} & 
      \OO \BoO{d}\BoO{dr}\BoO{drr} \RoO{r} & 
      \OO \BoO{dl}\BoO{d}\BoO{dr} \RoO{r} & 
      \OO \BoO{dll}\BoO{dl}\BoO{d} \RoO{r} &  
      \OO \BoO{dlll}\BoO{dll}\BoO{dl} \RoO{r} & 
      \OO \BoO{dllll}\BoO{dlll}\BoO{dll} \\
      \K[-2]{\emph{Layer 3}} &&&\OO & \OO & \OO } 
   \end{minipage}
   }
 \end{center}

\begin{verbatim}
 \Treek[.5]{4}{
   \K[-2]{\emph{Layer 1}}&&& 
     \OO \DLLoO\DLoO \DoO \DRoO\DRRoO\DRRRoO\DRoO[drrrr]& 
     \OO \DLLLoO\DLLoO\DLoO \DoO \DRoO\DRRoO\DRRRoO & 
     \OO \DLoO[dllll]\DLLLoO\DLLoO\DLoO \DoO \DRoO\DRRoO \\ 
   \K[-2]{\emph{Layer 2}}& 
     \OO \BoO{drr}\BoO{drrr}\BoO{drrrr} \RoO{r} & 
     \OO \BoO{dr}\BoO{drr}\BoO{drrr} \RoO{r} & 
     \OO \BoO{d}\BoO{dr}\BoO{drr} \RoO{r} & 
     \OO \BoO{dl}\BoO{d}\BoO{dr} \RoO{r} & 
     \OO \BoO{dll}\BoO{dl}\BoO{d} \RoO{r} & 
     \OO \BoO{dlll}\BoO{dll}\BoO{dl} \RoO{r} & 
     \OO \BoO{dllll}\BoO{dlll}\BoO{dll} \\
   \K[-2]{\emph{Layer 3}} &&&\OO & \OO & \OO } 
\end{verbatim}
 
Compare the two different connection styles between layers 1,2 and 2,3,
respectively. 




\section{Some Extras}
\label{sec:extras}

These are two handy macros for constructing metrical grids and glosses. They
have nothing to do with \texttt{xypic}. I include them because I find them
useful. 

\paragraph{Metrical Grids}

The command \verb|\PX| has one obligatory argument, the piece of text which is
to receive grid marks, and, as optional argument, the number of grid marks,
defaulted to 1:

\begin{minipage}[t]{4cm}
  \PX[2]{Fa}rah \PX{Faw}cett \PX[3]{Ma}jors
\end{minipage}
\begin{minipage}[t]{5cm}
\begin{verbatim}
  \PX[2]{Fa}rah \PX{Faw}cett \PX[3]{Ma}jors
\end{verbatim}
\end{minipage}

\verb|\PX| has center alignment of text and mark, for left and right alignment
use \verb|\PXl| and \verb|PXr|. These macros require the \texttt{ifthen}
package. 


\paragraph{Glosses}
For linguistic glosses, I normally use \texttt{cgloss4e.sty}. But when I want to
gloss only one or two words within an example, \texttt{cgloss} is not that
handy, as you must make as many glosses as there are words within an example,
which leads to a sequence of empty groups. \verb|\PG| has two arguments for the
word and its gloss:

\begin{minipage}[t]{3cm}
  \PG{John}{\textsc{nom}} loves \PG{Mary}{\textsc{acc}}
\end{minipage}
\begin{minipage}[t]{7cm}
\begin{verbatim}
  \PG{John}{\textsc{nom}} loves 
  \PG{Mary}{\textsc{acc}}
\end{verbatim}
\end{minipage}

\verb|\PG| aligns word and gloss at the left edge, for center and right
alignment use \verb|\PGc| and \verb|\PGr|. 


\bigskip

For bug reports, comments and suggestions, contact:\\
\texttt{rvogel@ling.uni-potsdam.de}



\end{document}  

