
\section Knoten, genannt @tags

\ftag{\the\secno}[nodesec]%
\jTree\ beinhaltet direkte Unterst\"utzung f\"ur PSTricks' leistungsf\"ahiges \pstnode\/-Packet. Selbst bei linearen Strukturen ist \pstnode\/ f\"ur Linguisten von Nutzen. Die Eigenschaft, Knoten zu definieren und sie mit Pfeilkurven verschiedenster Art zu verbinden, erlaubt es dem Benutzer, Sachen auf einfache Art und Weise zu programmieren, wie zum Beispiel: 

\excentered
\CLboxed
\rnode{A1}{Who} \rnode{B1}{did}
   Jack \rnode{B2}{\sl t\/}
   see \rnode{A2}{\sl t\/}?}
\psset{linearc=2pt}
\ncbar[angle=-90]{->}{A2}{A1}
\ncbar[angle=90]{->}{B2}{B1}
|endCLboxed \hfil
\lower1em\hbox{\rnode{A1}{Who} \rnode{B1}{did}
   Jack \rnode{B2}{\sl t\/}
   see \rnode{A2}{\sl t\/}?}%
\psset{linearc=2pt}
\ncbar[angle=-90]{->}{A2}{A1}
\ncbar[angle=90]{->}{B2}{B1}
\xe

Bei Baumstrukturen ist das pst-node-Makro |\nccurve| nur teilweise n\"utzlich. {\bf Achtung}: Knoten, die sich auf durch \pstnode\/-Befehle definierte Namensstrukturen beziehen, sind keine Baumknoten.

\excentered
\CLboxed
\jtree
\! = :{\rnode{A1}{who}}
   :{\rnode{B1}{did}} :{Jack}
   :{\rnode{B2}{\sl t}} :{see}
   {\rnode{A2}{\sl t}}.
\psset{arrows=->,angleA=-150,
   angleB=-90}
\nccurve{A2}{A1}
\nccurve{B2}{B1}
\endjtree
|endCLboxed \hfil
\jtree
\! = :{\rnode{A1}{who}}
   :{\rnode{B1}{did}} :{Jack}
   :{\rnode{B2}{\sl t}} :{see}
   {\rnode{A2}{\sl t}}.
\psset{arrows=->,angleA=-150,
   angleB=-90}
\nccurve{A2}{A1}
\nccurve{B2}{B1}
\endjtree
\xe

\jTree\ erleichtert den Gebrauch von \pstnode\/ durch Behelfsmittel, @tags genannt, wie unten dargestellt ist:

\excentered
\CLboxed
\jtree
\! = :{who}@A1 :{did}@B1 :{Jack}
   :{\sl t}@B2 :{see} {\sl t}@A2 .
\psset{arrows=->,angleA=-150,
   angleB=-90}
\nccurve{A2}{A1}
\nccurve{B2}{B1}
\endjtree
|endCLboxed  \hfil
\jtree
\! = :{who}@A1 :{did}@B1 :{Jack}
   :{\sl t}@B2 :{see} {\sl t}@A2 .
\psset{arrows=->,angleA=-150,
   angleB=-90}
\nccurve{A2}{A1}
\nccurve{B2}{B1}
\endjtree
\xe

Ein \jTree\/-@tag besteht es aus einem |@|, gefolgt von einer beliebigen Reihenfolge von Buchstaben, die eine g\"ultige PSTricks-node-Bezeichung ergeben, sowie einem Leerraum.
Wenn @tag einem label folgt (Parameter sind Teil eines labels), dann werden drei Knoten geschaffen. Wenn @tag zum Beispiel |@P2| ist, entstehen Knotenpunkte mit den Bezeichnungen |P2:t|, |P2| und |P2:b|. 

|P2:t| ist der aktuelle Punkt, bevor sich sp\"ater das Label an die Struktur angliedert und |P2:b| wird zum neuen Punkt, nachdem das Label Teil der Struktur geworden ist. |P2| ist ein Knotenbeh\"altnis, welche die label box beinhaltet -- mit dem Beziehungspunkt in der Mitte. Hinsichtlich |P2| ist |{«stuff\/»}@P2| \"aquivalent zu |{\rnode{P2}{«\sl stuff\/»}}|. Wenn @tag keinem Label folgt, wird ein einzelner Knotenpunkt an der aktuellen Position ~\Pcurr ~erstellt.

Diese Ideen sind im Folgenden illustriert:

\excentered
\CLboxed
\jtree
\! = @AA
   <vert>{A}
   <vert>{B}[labelgapt=12pt]@P2
   <vert>{C}.
\psset{arrows=->,angleA=0,angleB=0,
   ncurv=1.4}
\nccurve[nodesep=0]{AA}{P2:t}
\nccurve[nodesepA=0]{AA}{P2}
\nccurve[nodesep=0,ncurv=1.6]{AA}{P2:b}
\endjtree
|endCLboxed \hfil
\jtree
\! = @AA
   <vert>{A}
   <vert>{B}[labelgapt=12pt]@P2
   <vert>{C}.
\psset{arrows=->,angleA=0,angleB=0,
   ncurv=1.4}
\nccurve[nodesep=0]{AA}{P2:t}
\nccurve[nodesepA=0]{AA}{P2}
\nccurve[nodesep=0,ncurv=1.6]{AA}{P2:b}
\endjtree

\medskip
\hrule

\bigskip
\CLboxed
\jtree[scaleby=1 2,labelgap=1.2ex]
\! = :{and}@A
   {whatever}[labeloffset=1em]@AA .
\psset{linestyle=dashed,arrows=->}
\ncline{A}{AA:t}
\ncline{A}{AA:b}
\nccurve[angleA=-90,angleB=-90,ncurv=1]{A}{AA}
\endjtree
|endCLboxed \kern-2em\hfil
\jtree[scaleby=1 2,labelgap=1.2ex]
\! = :{and}@A
   {whatever}[labeloffset=1em]@AA .
\psset{linestyle=dashed,arrows=->}
\ncline[nodesepB=0]{A}{AA:t}
\ncline[nodesepB=0]{A}{AA:b}
\nccurve[angleA=-90,angleB=-90,ncurv=1]{A}{AA}
\endjtree
\xe

In Kapitel 13 gibt es weitere Informationen \"uber Knoten und die Nutzung von |\nccurve|.
%in Section~\gettag[nodesandhow].

