Waldbäume: Größe des Baumknotens reduzieren

Waldbäume: Größe des Baumknotens reduzieren

Ich möchte einige Knoten meines Baums verkleinern. Aber ich bekomme sie nicht kleiner. inner sep=0.01mmergibt die gleiche Knotengröße wie inner sep=1mm. Wie ist das möglich? Was übersehe ich?

Bildbeschreibung hier eingeben

Mein Code:

\documentclass[border=10pt]{standalone} 

\usepackage{verbatim}
\usepackage{tikz}
\usepackage{forest}
\usepackage{graphicx}

\begin{document}
\begin{forest}
for tree={delay={where content={}{content={\phantom{00}}}{}},s sep+=5mm,l+=5mm}
[,circle,fill=black,inner sep=1mm
  [,circle,fill=red,inner sep=0.5mm
    [,circle,draw,black,inner sep=0.1mm]
    []
    [,circle,draw,black,inner sep=0.1mm]
    []
  ]
  []
  [,circle,fill=red,inner sep=0.5mm
    [,circle,fill=red,inner sep=0.25mm
        [,circle,draw,black,inner sep=0.1mm]
        [,circle,draw,black,inner sep=0.1mm]
        [,circle,draw,black,inner sep=0.1mm]
        [,circle,draw,black,inner sep=0.001mm]%%% <------------- ??
    ]
        []
        []
    [,circle,draw,black,inner sep=0.1mm] 
  ]
  [,circle,fill=red,inner sep=0.5mm]
]
\end{forest}
\end{document}

Antwort1

AlsSalim Bou wies in einem Kommentar darauf hin, der Grund, warum dies inner sepineffektiv erscheint, ist, dass der Inhalt des Knotens selbst relativ gesehen ziemlich groß ist. Der Unterschied zwischen 0.1mmund 0.001mmmacht also kaum einen Unterschied, da sich dadurch nur der Rand um den Inhalt von winzig zu noch kleiner ändert.

Wie Salim Bou vorgeschlagen hat, besteht ein Ansatz darin, den Code zu löschen, der den Inhalt zu den Knoten des Baums hinzufügt. In diesem Fall inner sepbestimmen die Einstellungen tatsächlich die Größe aller Knoten im Baum.

Wenn Sie jedoch nur die Größe dieses einen Knotens anpassen möchten, möchten Sie den Inhalt möglicherweise später überschreiben. Dadurch wird nur der Inhalt dieses Knotens geändert, wenn dies als Argument für diesen Knoten festgelegt ist. Beachten Sie, dass die meisten inner sepEinstellungen in diesem Fall einfach gelöscht werden könnten, ohne dass dies das Erscheinungsbild optisch beeinträchtigt.

Ich würde auch vorschlagen, Stile zu verwenden, um doppelte Einstellungen zu vermeiden. Wie Sie dies am besten tun, hängt davon ab, was Sie benötigen. Hier ist ein mögliches Beispiel, das auch die beiden oben erläuterten Methoden zum Ändern der Größe veranschaulicht.

\documentclass[border=10pt]{standalone}
\usepackage{forest}

\begin{document}
\begin{forest}
  for tree={
    s sep'+=5mm,
    l'+=5mm,
  },
  my circle/.style={
    circle, fill=#1,
  },
  red circle/.style={
    my circle=red, inner sep=#1mm,
  },
  black circle/.style={
    my circle=black, inner sep=#1mm,
  },
  black hole/.style={
    circle, draw=black, inner sep=#1mm,
  }
  [, black circle=1
    [, red circle=0.5
      [, black hole=0.1]
      []
      [, black hole=0.1]
      []
    ]
    []
    [, red circle=0.5
      [, red circle=0.25
          [, black hole=0.1]
          [, black hole=0.1]
          [, black hole=0.1]
          [, black hole=0.001]
      ]
          []
          []
      [, black hole=0.1]
    ]
    [, red circle=0.5]
  ]
\end{forest}
\begin{forest}
  for tree={
    delay={where content={}{content={\phantom{00}}}{}},
    s sep'+=5mm,
    l'+=5mm,
  },
  my circle/.style={
    circle, fill=#1,
  },
  red circle/.style={
    my circle=red, inner sep=#1mm,
  },
  black circle/.style={
    my circle=black, inner sep=#1mm,
  },
  black hole/.style={
    circle, draw=black, inner sep=#1mm,
  }
  [, black circle=1
    [, red circle=0.5
      [, black hole=0.1]
      []
      [, black hole=0.1]
      []
    ]
    []
    [, red circle=0.5
      [, red circle=0.25
          [, black hole=0.1]
          [, black hole=0.1]
          [, black hole=0.1]
          [, black hole=0.001, before typesetting nodes={content=}]%%% <------------- ??
      ]
          []
          []
      [, black hole=0.1]
    ]
    [, red circle=0.5]
  ]
\end{forest}
\end{document}

zwei Bäume

Der Baum auf der linken Seite zeigt die Knoten mit Größen, die durch ihr inner seps bestimmt werden. Der Baum auf der rechten Seite zeigt sie mit dem Phantom 00als Inhalt, mit Ausnahme des einzelnen winzigen Knotens, bei dem dies überschrieben wird.

verwandte Informationen