Implementieren Sie einen Baum, der auf eine zweispaltige Seitenstruktur passt und mehrzeilige Knoten zulässt.

Implementieren Sie einen Baum, der auf eine zweispaltige Seitenstruktur passt und mehrzeilige Knoten zulässt.

Ich habe ein Dokument im FormatDieses hier, also zwei Textspalten pro Seite.

Ich habe versucht, eine Baumstruktur zu erstellen, die in eine Spalte passt, aber bisher hat es nicht funktioniert.

Es gibt Ressourcen zum Erstellen von Baumstrukturen mit Tikz,Dieses hierzum Beispiel, oderDas. Bisher ist es mir jedoch nicht gelungen, diese Lösungen an meine aktuelle Situation anzupassen.

Ich habe von Hand aufgeschrieben, wie der Baum aussehen soll. Es ist wichtig, dass sich der erste Knoten über zwei Zeilen ausbreiten kann, und zwar mit //oder /newline.

Bisher habe ich Folgendes:

\begin{figure}[t]
\centering

\caption{An illustration of a simple delete operation. \label{fig:simple}}
{
    \begin{tikzpicture}[level/.style={sibling distance = 5cm/#1, level distance = 1.5cm}, scale=0.6,transform shape]
    \node {\footnotesize educated at( Bush, University of Texas at Austin)}
    child
    {
        %node [treenode] {$Y$ \\ 50} 
        child
        {
            %node [treenode] {$Z$ \\ 40} 
            child
            {
                node [treenode] {$S1$ \\ 30}
                child
                {
                    node {\\60} 
                }
                {
                    node {\\60} 
                }
            }
            child
            {
                {
                    node {\\60} 
                }
                {
                    node {\\60} 
                } 
            }
        }
        child[edge from parent path ={(\tikzparentnode.-50) -- (\tikzchildnode.north)}]
        {
            node [subtree,yshift=0.4cm] (a) {}   % delay the text till later
        }
    }
    child[edge from parent path ={(\tikzparentnode.-30) -- (\tikzchildnode.north)}]
    {
        node [subtree,yshift=0.4cm] (b) {}       % delay the text till later
    }
;
% ------------------------------------------------ put the text into subtree nodes
\node[align=center,yshift=0.1cm] at (a) {$Z$\\200};
\node[align=center,yshift=0.1cm] at (b) {$Z$\\200};
\end{tikzpicture}
}
\end{figure}

und diese Pakete:

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{shapes.geometric,arrows,fit,matrix,positioning}

So würde es im Idealfall aussehen:

Bildbeschreibung hier eingeben

Antwort1

Hier eine Möglichkeit, forestmit der besonders kompakte Bäume entstehen.

\documentclass[twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{forest,kantlipsum}
\forestset{% adapted from page 52
  nice empty nodes/.style={
    delay={
      where content={}{
        shape=coordinate,
        for parent={
          for children={
            anchor=north
          }
        }
      }{}
    }
  }
}
\begin{document}
  \kant[1-2]
\begin{figure}[t]
\centering
\caption{An illustration of a simple delete operation. \label{fig:simple}}

    \begin{forest}
      nice empty nodes,
      for tree={
        align=center,
        parent anchor=south,
        edge path={
          \noexpand\path [draw, fill, \forestoption{edge}] (!u.parent anchor) circle (1.5pt) -- (.child anchor)\forestoption{edge label};
        }
      }
      [\textsc{data representation}\\{\footnotesize educated at (Bush, University of Texas at Austin)}
        [
          [Something\\here
          ]
          [Something\\else
          ]
        ]
        [
          [, tier=tier 1
            [
              [Q value]
              [English]
            ]
            [
              [Q value]
              [English]
            ]
          ]
          [
            [P value, tier=tier 1]
            [English]
          ]
        ]
      ]
    \end{forest}

\end{figure}
\kant[3-4]

\end{document}

Baum

verwandte Informationen