<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>syntaxbaum &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/syntaxbaum/</link>
	<description>Feed of posts on WordPress.com tagged "syntaxbaum"</description>
	<pubDate>Tue, 08 Dec 2009 03:45:45 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Syntaxbäume unter LaTeX mit qtree]]></title>
<link>http://freiesoftware.wordpress.com/2008/10/21/syntaxbaume-unter-latex-mit-qtree/</link>
<pubDate>Tue, 21 Oct 2008 22:26:05 +0000</pubDate>
<dc:creator>Dietmar</dc:creator>
<guid>http://freiesoftware.wordpress.com/2008/10/21/syntaxbaume-unter-latex-mit-qtree/</guid>
<description><![CDATA[Da ich es in nächster Zeit vermutlich selbst öfter brauchen werde, habe ich beschlossen, die wichtig]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Da ich es in nächster Zeit vermutlich selbst öfter brauchen werde, habe ich beschlossen, die wichtigsten Dinge über qtree zusammenzutragen.</p>
<p>Wer beispielsweise MikTeX unter Windows nutzt, der hat wohl keine Probleme, weil sich die Distribution alles aus dem Internet holt, was sie braucht. Unter Ubuntu braucht man zusätzlich zum Paket texlive noch die Pakete texlive-humanities und texlive-pictures, damit qtree überhaupt funktioniert.</p>
<p>Alles, was mit \Tree anfängt ist bei mir eine Zeile, auch wenn unten teilweise ein Zeilenumbruch angezeigt wird. Leerzeichen innerhalb dieser Zeile sind teilweise sehr wichtig, damit der Code läuft.</p>
<p>Ein einfacher Baum könnte dann z.B. so aussehen:</p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">documentclass[a4paper,10pt]{article}<br />
\usepackage{qtree}</p>
<p>\begin{document}<br />
\Tree [.XP [.XP [.X tri ] [.YP [.Y tra ] ] ] [.Z trullala ] ]<br />
\end{document}</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum1.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Wenn man bestimmte Dinge zusammenfassen möchte, sieht die Codezeile so aus:</p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">\Tree [.XX [.XP [.X' [.X tri ] [.YP [.Y tra ] ] ] [.X trullala ] ] <strong>\qroof{das Kasperle}.X</strong> ]</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum2.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Hoch- und tiefgestellte Zahlen und Buchstaben funktionieren so:</p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">\Tree [.XX [.XP [.<strong>X_a</strong> [.X <strong>tri^1</strong> ] [.YP [.Y tra^2 ] ] ] [.X trullala^3 ] ] \qroof{das Kasperle^4}.X ]</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum3.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Zeilenumbruch mit doppeltem Backslash:</p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">\Tree [.XX [.XP [.X_a [.X tri^1 ] [.YP [.Y tra^2 ] ] ] [.X trullala^3 ] ] \qroof{<strong>das\\ Kasperle</strong>^4}.X ]</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum4.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Pfeile dürfen auch nicht fehlen. Hier gibt es allerdings eine kleine Einschränkung: wenn man Pfeile verwendet, dann kann man nicht direkt PDFs erzeugen. Man muss erst die LaTeX-Quellen als .dvi-Datei kompilieren und diese dann irgendwie in PDF umwandeln. Soweit kein Hexenwerk, aber wer Ubuntu verwendet, für den liegt hier noch eine kleine Überraschung verborgen: evince, das Programm, welches standardmäßig verwendet wird um DVI-Dateien anzuzeigen, kann diese Dateien nicht korrekt darstellen. Ich verzweifelte fast, als ich eigentlich alles richtig gemacht habe, aber mein Syntaxbaum plötzlich keine sichtbaren Äste mehr hatte. Ich kann also nur dringend empfehlen, kdvi zu installieren und damit die Ergebnisse zu betrachten. Unter kdvi sollte man dann allerdings davon absehen, die PDF-Exportfunktion zu verwenden, da dies hinterher wieder so auszusehen scheint, wie die dvi-Datei unter evince. Lieber File -&#62; Print -&#62; Print to file (PDF). Das sieht dann als PDF auch unter evince ordentlich aus. Mir hat dies einige neue Erfahrungen und etliche graue Haare beschert <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Man muss innerhalb des Baumes Knoten definieren, denn nur solche Knoten lassen sich verbinden. Die Syntax ist \node{Knotenname}{Beschriftung} und aussehen könnte das z.B. so:</p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">\documentclass[a4paper,10pt]{article}<br />
\usepackage{qtree}<br />
<strong>\usepackage{tree-dvips}</strong></p>
<p>\begin{document}</p>
<p>\Tree [.XP [.XP [.X <strong>\node{von}{tri}</strong> ] [.YP [.Y <strong>\node{ueber}{tra}</strong> ] ] ] [.Z \node{nach}{trullala} ] ]</p>
<p><strong>\anodecurve[bl]{von}[b]{ueber}{0.3in}</strong><br />
\anodecurve[b]{ueber}[br]{nach}{0.5in}</p>
<p>\end{document}</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum5.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Solch hübsche runde Pfeile bekommt man dann mit<br />
\anodecurve[OrtAmStartknoten]{Startknoten}[OrtAmEndknoten]{Endknoten}{Krümmung}<strong></strong></p>
<p><strong>[OrtAm...]</strong> &#8211; hier kann man einstellen, ob es [l] links, [bl] unten links, [b] unten Mitte, [br] unten rechts, [r] rechts, [tr] oben rechts, [t] oben Mitte oder [tl] oben links losgehen oder enden soll. Die Unterschiede sieht man in obigen Beispiel zwischen [bl]-tri, [b]-tra und [br] trullala.</p>
<p><strong>{Krümmung}</strong> &#8211; mit dieser Zahl kann man manipulieren, wie stark der Pfeil gekrümmt werden soll. Die Zahl kann auch negativ sein.</p>
<p>Es gibt auch gestrichelte Pfeile. Der Baum hier ist zwar noch größerer Schwachsinn, als die vorigen, aber erfüllt seinen Zweck <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">\documentclass[a4paper,10pt]{article}<br />
\usepackage{qtree}<br />
\usepackage{tree-dvips}</p>
<p>\begin{document}</p>
<p>\Tree [.XP [.XP [.X tri ] [.\node{ueber}{YP} [.Y \node{von}{tra} ] ] ] [.\node{nach}{Z} trullala ] ]</p>
<p>{\makedash{2.3pt}\anodecurve[r]{von}[r]{ueber}{.15in}}<br />
{\makedash{4pt}\anodecurve[r]{ueber}[l]{nach}{.4in}}</p>
<p>\end{document}</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum61.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Von &#8220;tra&#8221; über &#8220;YP&#8221; nach &#8220;Z&#8221;. Wie man sieht, bewirkt eine kleinere Zahl im makedash-Befehl, dass der Pfeil feiner gestrichelt wird.</p>
<p>Zum Schluss noch eine Kleinigkeit zum Rumspielen, und zwar eckige Pfeile:</p>
<table border="0">
<tbody>
<tr>
<td bgcolor="yellow">\Tree [.XP [.XP [.X \node{nach}{tri} ] [.\node{ueber}{YP} [.Y tra ] ] ] [.Z \node{von}{trullala} ] ]</p>
<p>\abarnodeconnect[-45pt]{von}{nach}</td>
<td><img src="http://freiesoftware.wordpress.com/files/2008/10/baum7.jpg" border="0" alt="" /></td>
</tr>
</tbody>
</table>
<p>Das Ganze gibt es ausführlicher (aber auf Englisch) unter <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/qtree/" target="_blank">ctan.org</a>, und zwar insbesondere in den Dateien <a href="http://www.ctan.org/get/macros/latex/contrib/qtree/qtreenotes.pdf" target="_blank">qtreenotes.pdf</a> und <a href="http://www.ctan.org/get/macros/latex/contrib/qtree/qarrows.pdf" target="_blank">qarrows.pdf</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wir malen uns Bäumchen]]></title>
<link>http://freiesoftware.wordpress.com/2008/04/02/wir-malen-uns-baumchen/</link>
<pubDate>Wed, 02 Apr 2008 14:40:53 +0000</pubDate>
<dc:creator>Dietmar</dc:creator>
<guid>http://freiesoftware.wordpress.com/2008/04/02/wir-malen-uns-baumchen/</guid>
<description><![CDATA[Zugegeben, die Zielgruppe des heutigen Beitrags ist ziemlich speziell. Es geht um Syntax-Bäume. In S]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Zugegeben, die Zielgruppe des heutigen Beitrags ist ziemlich speziell. Es geht um <a title="Wikipedia - Syntaxbaum" href="http://de.wikipedia.org/wiki/Syntaxbaum" target="_blank">Syntax-Bäume</a>. In Sprachwissenschaften werden diese Bäume dazu verwendet, Struktur und teilweise auch die Bedeutung von Sätzen oder Satzteilen darzustellen. Ich persönlich finde diese Bäume im Prinzip auch geeignet, um Sprachschülern Unterschiede in der Struktur zwischen beispielsweise der Muttersprache und der zu erlernenden Sprache aufzuzeigen. Wenn man die Struktur einer Sprache versteht, dann lernt man diese auch leichter.</p>
<p>Wenn man diese mit Computer erstellen möchte, dann ist dies nicht immer ganz einfach, und die zur Verfügung stehenden Programme sind leider nicht sehr zahlreich. Deswegen möchte ich hier einige Möglichkeiten kurz vorstellen:</p>
<p><strong>OpenOffice</strong><br />
Unter <a title="OpenOffice - deutsche Homepage" href="http://de.openoffice.org/" target="_blank">OpenOffice</a> ist es im Prinzip möglich, solche Bäumchen zu erstellen, aber es ist mit sehr hohem Arbeitsaufwand verbunden. Unter Writer kann man zum Beispiel wie folgt vorgehen: sämtliche Beschriftungen erzeugt man mit <em>&#8220;Einfügen -&#62; Rahmen&#8221;</em>, denn so kann man alles sehr frei im Dokument platzieren. Die Linien bekommt man über  <em>&#8220;Ansicht -&#62; Symbolleisten -&#62; Zeichnen&#8221;</em>, in dieser Werkzeugleiste ist Alles weiter benötigte enthalten.  Wenn man zwei oder mehrere Objekte hat und diese &#8220;zusammenkleben&#8221; möchte, klickt man auf das erste, hält die Umschalttaste gedrückt und klickt auf das nächste Objekt. Nun wählt man <em>&#8220;Format -&#62; Gruppieren -&#62; Gruppieren&#8221;</em>, von jetzt an verhalten sich die gruppierten Objekte praktisch wie ein Objekt. Dies erleichtert das Verschieben komplexerer Strukturen. Allerdings ist es immernoch sehr mühsam, seine Bäumchen auf diese Weise zu erstellen. Der Vorteil ist die problemlose Integration in das Dokument. Ich habe mir nicht viel Mühe gegeben, aber trotzdem kann man sagen, dass es sich nicht um die hübscheste Lösung handelt:</p>
<p><a title="Syntaxbaum mit OpenOffice Writer" href="http://freiesoftware.wordpress.com/files/2008/04/syntaxooo.jpg"><img src="http://freiesoftware.wordpress.com/files/2008/04/syntaxooo.jpg" border="0" alt="Syntaxbaum mit OpenOffice Writer" /></a><em><br />
Syntaxbaum, der mit OpenOffice Writer erstellt wurde</em></p>
<p><strong>Java-Applet</strong><br />
Es gibt <a title="Java-Applett für Syntaxbäume" href="http://www-clips.imag.fr/geta/aurelien.max/SSC/frames.html" target="_blank">hier</a> ein  Java-Applet, mit dem man auch solche Bäume erstellen kann. Das Resultat ist auch als Bitmap exportierbar, was die Resultate mit akzeptablem Aufwand weiterverwertbar machen dürfte. Sämtliche verwendbaren Worte müssen einer vordefinierten (editierbaren und selbst erstellbaren) Grammatik entnommen werden. Um mal eben kurz was zu Zeichnen, ist diese Lösung nur eingeschränkt geeignet, da man nicht immer den ganzen Wortschatz bereits definiert haben dürfte. Der Vorteil ist, dass (zumindest auf Englisch) auch ein Übungsprogramm dabei ist und man auch das Erstellen solcher Bäume üben kann. Ich selbst konnte mich auf den ersten Blick nicht mit diesem Programm anfreunden, was aber auch an meinem persönlichen Geschmack liegen könnte.</p>
<p><strong>LaTeX</strong><br />
Wer die Layout-Software <a title="LaTeX - Projekt Homepage" href="http://www.latex-project.org/" target="_blank">LaTeX</a> bereits kennen gelernt hat, weiß welch ein komplexes, aber mächtiges Werkzeug diese Software ist. Der entscheidende Nachteil vorweg: Wer noch kein LaTeX kann, muss sich entweder nach einer anderen Lösung umschauen oder erst LaTeX lernen. Letzteres ist machbar und auch für viele Dinge hinterher nützlich, aber für die, die sich diese Arbeit eigentlich nicht machen wollten ein unverhältnismäßig hoher Aufwand für ein paar kleine Bäumchen. Für diejenigen die sich mit LaTeX auskennen , kann ich das Paket <a title="qtree - Paket für LaTeX" href="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=qtree" target="_blank">qtree</a> empfehlen. Das Paket ist pingelig wegen Leerzeichen in der Syntax, aber ansonsten recht einfach zu handhaben. Man kann meines Wissens auch Pfeile und Zeugs einfügen und die wildesten Dinge damit machen.<br />
Wenn ich keinen Fehler gemacht habe, dann lässt sich der gleiche Baum wie im OpenOffice Beispiel so erzeugen:<br />
\<em>Tree [.VP [.DP [.D die ] [.NP [.N Schule ] ] ] [.V verlassen ] ]</em></p>
<p><a title="Syntaxbaum mit LaTeX und qtree" href="http://freiesoftware.wordpress.com/files/2008/04/syntaxtex.jpg"><img src="http://freiesoftware.wordpress.com/files/2008/04/syntaxtex.jpg" border="0" alt="Syntaxbaum mit LaTeX und qtree" /></a><br />
<em>Syntaxbaum mit LaTeX und dem Paket qtree</em><a title="Syntaxbaum mit LaTeX und qtree" href="http://freiesoftware.wordpress.com/files/2008/04/syntaxtex.jpg"><br />
</a></p>
<p><strong>PHP syntax tree</strong><br />
Eine Lösung, die mich aufgrund ihrer Einfachheit in der Bedienung sehr angenehm überrascht hat war <a title="PHP syntax tree - Homepage" href="http://ironcreek.net/phpsyntaxtree/" target="_blank">PHP syntax tree</a>. Ich habe mich jetzt nicht in das Programm eingearbeitet, aber zumindest für einfache Bäume ist dies eine super Sache. Man gibt einfach die Baumstruktur auf einer Internetseite ein und drückt auf einen Knopf. Das Resultat ist ein hübscher Baum, den man sich als .png-Graphik herunterladen kann. Einfacher geht es nun wirklich nicht. Keine Installation, garnichts. Nettes Sahnehäubchen: es wird angezeigt, wieviele Klammern geöffnet und wieviele geschlossen sind. Dadurch kann man gleich sehen, ob mit den Klammern noch was im Argen liegt, denn solche Syntax lädt ja gerade dazu ein, mehr Klammern zu öffnen, als man hinterher wieder schließt. Bezüglich Leerzeichen zwischen Klammern ist dieses Programm unempfindlicher als das oben erwähnte qtree.<br />
die Syntax:<br />
<em>[VP [DP [D die][NP [N Schule]]][V verlassen]] </em></p>
<p><a title="Syntaxbaum mit PHP syntax tree" href="http://freiesoftware.wordpress.com/files/2008/04/syntaxphp.png"><img src="http://freiesoftware.wordpress.com/files/2008/04/syntaxphp.png" border="0" alt="Syntaxbaum mit PHP syntax tree" /></a><br />
<em>der Syntaxbaum genau so, wie ich ihn von PHP syntax tree bekommen habe. Die Datei ist gänzlich unverändert.</em></p>
<p><strong>Weitere Ressourcen</strong><br />
Eine interessante Auswahl an Links ist <a title="Wikipedia - parse tree" href="http://en.wikipedia.org/wiki/Parse_tree" target="_blank">in der englischen Wikipedia</a> zu finden (am Ende des Artikels). PHP syntax tree habe ich dort eben erst gefunden, qtree ist auch erwähnt, aber ich kannte es vorher schon und dann sind noch weitere Programme dort verlinkt, die auf den ersten Blick sehr interessant wirken.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
