PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qtree: Baum drehen, aber Textrichtung beibehalten?



onkel
14-06-2007, 11:06
Hallo zusammen,
ich möchte einen Baum erzeugen, der seine Wurzel links hat und sich nach rechts verzweigt.
Bisher habe ich nur die Möglichkeit gefunden, den ganzen Baum mit der Sideways-Umgebung aus dem Paket rotating zu drehen, aber dann läuft die Schrift in die falsche Richtung. Die Schrift im Baum in die Gegenrichtung zu drehen funktioniert zwar, ist aber sehr umständlich, wenn man jeden Knoten einzeln dreht. Außerdem funktioniert es irgendwie nicht, sich über \newcommand die Tipperei abzunehmen. Dabei passiert komisches mit den Ästen hinter dem Konten (siehe oberer Teil des Beispielbaums):



\documentclass{report}
\usepackage{qtree}
\usepackage{rotating}

\begin{document}

\newcommand{\tvs}{\begin{turn}{-90}tvs\end{turn}}

\begin{turn}{90}

\Tree
[.\begin{turn}{-90}vs1\end{turn}
[.\begin{turn}{-90}vs2\end{turn}
\begin{turn}{-90}vs3\end{turn}
\begin{turn}{-90}vs4\end{turn}
]
[.\tvs
\begin{turn}{-90}vs5\end{turn}
\begin{turn}{-90}vs6\end{turn}
]
]

\end{turn}
\end {document}



Gibt es eine Möglichkeit, den Baum gleich beim Erzeugen in andere Richtungen wachsen zu lassen?

Ich würde außerdem gerne unkompliziert etwas zwischen zwei Knoten, die direkt aus einer gemeinsamen Wurzel entspringen, schreiben, ist das mit einem anderen Baumpaket möglich? Hab kein solches Beispiel gefunden.
Vielen Dank,
onkel

onkel
14-06-2007, 11:27
Meine Herren,
wer lesen kann ist klar im Vorteil. Den Absatz, in dem steht wies geht hatte ich tatsächlich schon drei mal gelesen.
\tvs sollte man einklammern, weil sonst kein Leerzeichen dahinter ist und deshalb der Knoten nicht beendet wird. Mit {\tvs} funktionierts. Hilft mir zwar nicht weiter, weil nicht alle Knoten gleich sind, aber wieder was gelernt.

Bleibt die Frage: wie kann ich möglichst einfach Text zwischen zwei nahverwandte Knoten bringen?

onkel
17-06-2007, 16:30
Hallo,

habe mir jetzt einen Baum zusammengepfuscht, der in etwa so aussieht, wie ich ihn haben möchte.
Habe den ganzen Baum mit der turn-Umgebung aus rotating gedreht und die einzelnen Blätter und Knoten auf gleiche Art zurückgedreht, damit die Textrichtung wieder stimmt. Interessant ist dabei, dass der Baum gewissermaßen von unten nach oben beladen wird.

Text zwischen zwei Äste habe ich geschrieben, indem ich einen unsichtbaren Mittleren Ast eingefügt habe (brOverride). Alles, was gebraucht wird, stand eigentlich in der Doku. Es fehlte allein die Idee, das so abzuändern:o).



\documentclass{report}
\usepackage{qtree}
\usepackage{rotating}

\begin{document}

\makeatletter
\newcommand{\myLines}[1]{% Three-way only
\begin{picture}(4,1)
\put(0,0){\line(2,1){2}}
\put(2,0){\line(0,1){0}}
\put(4,0){\line(-2,1){2}}
\end{picture}}
\let\qdrawReal=\qdraw@branches
\newcommand\brOverride{\let\qdraw@branches=\myLine s}
\makeatother

\begin{turn}{90}
\Tree
[.\begin{turn}{-90}{wurzel}\end{turn}
[.\begin{turn}{-90}{1}\end{turn}
\begin{turn}{-90}{11}\end{turn}
\begin{turn}{-90}{zwischen 11 und 12}\end{turn}
\begin{turn}{-90}{12}\end{turn}
!{\brOverride}
]
\begin{turn}{-90}{zwischen 1 und 2}\end{turn}
[.\begin{turn}{-90}{2}\end{turn}
\begin{turn}{-90}{21}\end{turn}
\begin{turn}{-90}{zwischen 21 und 22}\end{turn}
\begin{turn}{-90}{22}\end{turn}
]
]

\end{turn}
\end {document}


Tschö,
onkel