goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

TikZ Trees zeichnen

 

erdbeermutzel
Forum-Newbie
Forum-Newbie

Beiträge: 8
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 09:52     Titel: TikZ Trees zeichnen
  Antworten mit Zitat      
Hallo,

ich habe jetzt einen Tree mittels TikZ gezeichnet, was auch alles wunderbar geklappt hat. Jetzt muss ich allerdings noch etwas zwischen die einzelnen Childs schreiben bzw unter die Childs als normalen Text, also ungerahmt und ohne Pfad.

Mein derzeitiger Code ist vereinfacht dargestellt:

Code • Öffne in Overleaf

\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{positioning,shadings,arrows,trees, intersections}

\begin{document}
   \begin{tikzpicture}
      [edge from parent fork down,auto]
      \tikzset{
         treenode/.style={align=center, rectangle, draw=black
},
         root/.style={treenode, inner sep= 10pt, text width = 5cm},
         1/.style={treenode, inner sep= 7pt, text width = 3cm},
         2/.style={treenode, inner sep= 5pt, text width = 1.5cm},
         level1/.style = {sibling distance=7cm, level distance=1.5cm},
         level2/.style = {sibling distance=3cm, level distance=1.5cm}
         }


      \node[root]{\large {Wurzel}}
         child[level1]{node[1]{Ast1}
            child[level2]{node[2]{Zweig1}}
            child[level2]{node[2]{Zweig2}}}
         child[level1]{node[1]{Ast2}
            child[level2]{node[2]{Zweig3}}
            child[level2]{node[2]{Zweig4}}};


   \end{tikzpicture}
\end{document}


Ich möchte jetzt z.b: in den leeren Raum zwischen Ast1 und Ast2 ein "X" schreiben, zwischen Zweig1 und Zweig2 eine "/" und unter Ast2 dann einen kurzen Text, als Bsp. hier "Text"

Wie kann ich meinen Baum dadurch noch ergänzen? ich bin da leider wirklich im Moment sehr ratlos
Private Nachricht senden Benutzer-Profile anzeigen

Beinschuss
Forum-Meister
Forum-Meister

Beiträge: 776
Anmeldedatum: 02.10.12
Wohnort: NRW
Version: MiKTeX, Windows 10, TeXstudio
     Beitrag Verfasst am: 27.06.2017, 10:17     Titel:
  Antworten mit Zitat      
Sehr schönes Minimalbeispiel! Du kannst neue Nodes frei positionieren. Im Beispiel ist das X einfach nur soweit auf der Y-Achse runtergeschoben, dass es (nach Augenmaß) mittig steht:

Code • Öffne in Overleaf
\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{positioning,shadings,arrows,trees, intersections}

\begin{document}
   \begin{tikzpicture}
      [edge from parent fork down,auto]
      \tikzset{
         treenode/.style={align=center, rectangle, draw=black
},
         root/.style={treenode, inner sep= 10pt, text width = 5cm},
         1/.style={treenode, inner sep= 7pt, text width = 3cm},
         2/.style={treenode, inner sep= 5pt, text width = 1.5cm},
         level1/.style = {sibling distance=7cm, level distance=1.5cm},
         level2/.style = {sibling distance=3cm, level distance=1.5cm}
         }


      \node[root]{\large {Wurzel}}
         child[level1]{node[1]{Ast1}
            child[level2]{node[2]{Zweig1}}
            child[level2]{node[2]{Zweig2}}}
         child[level1]{node[1]{Ast2}
            child[level2]{node[2]{Zweig3}}
            child[level2]{node[2]{Zweig4}}};
       \node(zwischenx) [yshift=-1.6cm]{X}; %eingefügt

   \end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

erdbeermutzel
Forum-Newbie
Forum-Newbie

Beiträge: 8
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 12:14     Titel:
  Antworten mit Zitat      
Vielen Dank - das hat alles ohne Probleme funktioniert!
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2221
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 27.06.2017, 12:19     Titel:
  Antworten mit Zitat      
Wenn Du dem Wurzelnode einen Namen gibst, werden auch die Kinder automatisch benannt. Diese Nodenamen kannst Du dann zum Positionieren verwenden.

Code • Öffne in Overleaf
\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{positioning,shadings,arrows,trees, intersections}

\begin{document}
\begin{tikzpicture}
[edge from parent fork down,auto]
\tikzset{
treenode/.style={align=center, rectangle, draw=black
},
root/.style={treenode, inner sep= 10pt, text width = 5cm},
1/.style={treenode, inner sep= 7pt, text width = 3cm},
2/.style={treenode, inner sep= 5pt, text width = 1.5cm},
level1/.style = {sibling distance=7cm, level distance=1.5cm},
level2/.style = {sibling distance=3cm, level distance=1.5cm}
}


\node[root](tree){\large {Wurzel}}
child[level1]{node[1]{Ast1}
child[level2]{node[2]{Zweig1}}
child[level2]{node[2]{Zweig2}}}
child[level1]{node[1]{Ast2}
child[level2]{node[2]{Zweig3}}
child[level2]{node[2]{Zweig4}}};
\path[auto=false]
  (tree-1.east) -- node{X} (tree-2.west)
  (tree-1-1.east) -- node{/} (tree-1-2.west)
  (tree-2-1.south east)-- node[below=.25cm]{Text} (tree-2-2.south west)
;
\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1002
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 27.06.2017, 14:37     Titel:
  Antworten mit Zitat      
Unter Verwendung des Beispiels von esdd möchte ich weitere Eingriffe vorschlagen:

Code • Öffne in Overleaf
\documentclass[tikz, border=5pt]{standalone}

\usetikzlibrary{trees}

\begin{document}
\begin{tikzpicture}
[edge from parent fork down,auto]
\tikzset{
   treenode/.style={align=center,draw
},
   root/.style={treenode, inner sep= 10pt, text width = 5cm, font=\large},
   1/.style={treenode, inner sep= 7pt, text width = 3cm},
   2/.style={treenode, inner sep= 5pt, text width = 1.5cm},
   level/.style={level distance=1.5cm},
   level 1/.style = {sibling distance=7cm},
   level 2/.style = {sibling distance=3cm}
}


\node[root](tree){Wurzel}
   child{node[1]{Ast1}
      child{node[2]{Zweig1}}
      child{node[2]{Zweig2}}
   }
   child{node[1]{Ast2}
      child{node[2]{Zweig3}}
      child{node[2]{Zweig4}}
   };
\path[auto=false]
   (tree-1.east) -- node{X} (tree-2.west)
   (tree-1-1.east) -- node{/} (tree-1-2.west)
   (tree-2-1.south east)-- node[below=.25cm]{Text} (tree-2-2.south west)
;
\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de