PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Baumartiges Diagramm mit Latex?



pensi
01-05-2009, 17:30
Hi,

hat jemand einen Tipp, wie man dem angehaengten Diagramm aehnliche Diagramme relativ leicht in Latex erstellt? Also Text in einer baumartigen Struktur verbunden und Boegen ueber alle Aeste, welche die Beziehung der Blaetter beschreibt.

Vielen Dank!

voss
01-05-2009, 18:42
hat jemand einen Tipp, wie man dem angehaengten Diagramm aehnliche Diagramme relativ leicht in Latex erstellt? Also Text in einer baumartigen Struktur verbunden und Boegen ueber alle Aeste, welche die Beziehung der Blaetter beschreibt.



\documentclass{article}
\usepackage{pst-tree,pstricks-add}
\SpecialCoor
\def\psedge#1#2{\ncline[linecolor=black]{#1}{#2}}
\def\Bogen#1#2#3{%
\psarc[linecolor=black](#1){1cm}%
{!\psGetNodeCenter{#1} \psGetNodeCenter{#2}
#1.y #2.y sub abs #1.x #2.x sub abs atan 180 add}%
{!\psGetNodeCenter{#3}
#1.y #3.y sub abs #1.x #3.x sub abs atan neg 360 add}%
}
\begin{document}

\psset{framesize=1.5 1,linecolor=blue!30,levelsep=3cm}
\pstree{\Tf*[name=A]}{%
\Tf*[name=B]
\Tf*
\Tf*
\pstree{\Tf*[name=D]}{%
\Tf*[name=D1]
\Tf*[name=D2]
}
}
\Bogen{A}{B}{D}\uput{1.2cm}[-30](A){Test1}
\Bogen{D}{D1}{D2}\uput{1cm}[-50](D){Test2}

\end{document}


Herbert

pensi
01-05-2009, 18:54
Perfekt! Vielen Dank dafür, Herbert!

Ich kann das Problem umgehen, aber gibt's eigentlich ein äquivalentes Paket für PDF?

localghost
01-05-2009, 19:02
[...] Ich kann das Problem umgehen, aber gibt's eigentlich ein äquivalentes Paket für PDF?
Zusammen mit auto-pst-pdf (http://ctan.org/pkg/auto-pst-pdf) kannst Du das auch mit pdflatex erledigen. Dann dauert der Vorgang der Kompilierung aber länger, weil einige Zwischenschritte nötig sind. Ein direkter Weg ist mit pgf/tikZ (http://ctan.org/pkg/pgf) möglich.


MfG
Thorsten¹

voss
01-05-2009, 19:10
Ich kann das Problem umgehen, aber gibt's eigentlich ein äquivalentes Paket für PDF?

du kannst es mit pdflatex laufen lassen, musst dann nur das Paket auto-pst-pdf
laden und
pdflatex -shell-escape datei (für Linux)
bzw. für MiKTeX und TeXnicCenter gibt es hier ein Profil:
http://www.ctan.org/tex-archive/graphics/pstricks/pst-support/

Damit pstree erkannt wird, muss man sie nur in eine pspicture-Umgebung setzen.
Das hier läuft bei mir problemlos mit pdflatex:


\listfiles
\documentclass{article}
\usepackage{pst-tree,pstricks-add,auto-pst-pdf}
\SpecialCoor
\def\psedge#1#2{\ncline[linecolor=black]{#1}{#2}}
\def\Bogen#1#2#3{%
\psarc[linecolor=black](#1){1cm}%
{!\psGetNodeCenter{#1} \psGetNodeCenter{#2}
#1.y #2.y sub abs #1.x #2.x sub abs atan 180 add}%
{!\psGetNodeCenter{#3}
#1.y #3.y sub abs #1.x #3.x sub abs atan neg 360 add}%
}
\begin{document}

\begin{pspicture}(9,-7)
\psset{framesize=1.5 1,linecolor=blue!30,levelsep=3cm}
\pstree{\Tf*[name=A]}{%
\Tf*[name=B]
\Tf*
\Tf*
\pstree{\Tf*[name=D]}{%
\Tf*[name=D1]
\Tf*[name=D2]
}
}
\Bogen{A}{B}{D}\uput{1.2cm}[-30](A){Test1}
\Bogen{D}{D1}{D2}\uput{1cm}[-50](D){Test2}
\end{pspicture}

\end{document}


Herbert

voss
01-05-2009, 19:12
Zusammen mit auto-pst-pdf (http://ctan.org/pkg/auto-pst-pdf) kannst Du das auch mit pdflatex erledigen. Dann dauert der Vorgang der Kompilierung aber länger, weil einige Zwischenschritte nötig sind. Ein direkter Weg ist mit pgf/tikZ (http://ctan.org/pkg/pgf) möglich.


wieso bist du eigentlich immer so sicher, dass es länger dauert??
In dem Moment, wo Arithmetik dazukommt, so wie hier, wird tikZ
elendig langsam, da die Zeichenkettenarithmetik alles andere als
schnell ist.

Herbert

localghost
01-05-2009, 19:27
wieso bist du eigentlich immer so sicher, dass es länger dauert??
In dem Moment, wo Arithmetik dazukommt, so wie hier, wird tikZ
elendig langsam, da die Zeichenkettenarithmetik alles andere als
schnell ist. [...]
Der Vergleich betrifft nicht pgf/tikZ (http://ctan.org/pkg/pgf) und pstricks (http://ctan.org/pkg/pstricks), sondern die Bearbeitungszeit deines Beispiels mit und ohne auto-pst-pdf (http://ctan.org/pkg/auto-pst-pdf). Dass Arithmetik Zeit braucht, ist mir durchaus bekannt.

voss
01-05-2009, 19:30
Der Vergleich betrifft nicht pgf/tikZ (http://ctan.org/pkg/pgf) und pstricks (http://ctan.org/pkg/pstricks), sondern die Bearbeitungszeit deines Beispiels mit und ohne auto-pst-pdf (http://ctan.org/pkg/auto-pst-pdf). Dass Arithmetik Zeit braucht, ist mir durchaus bekannt.

ah ok. Dann hast du natürlich völlig recht.

Herbert

pensi
01-05-2009, 22:23
Danke schön! Werde mal sehen, ob ich Deine Vorgabe in PGF übersetzen kann. Das scheint mir ansprechender. Aber auto-pst-pdf ist bestimmt einfacher...

Danke und schönes Wochende!
pensi