Jetzt möchte ich aber 10 Knoten im Kreis um das Zentrum herum setzen. Muss ich dafür die Koordinaten ausrechnen, oder wie kann man das hinkriegen optimalerweise in einer Schleife?
Wenn ich beim TikZ-Lernen und Grafiken-Erstellen auf Fragen stoße, stelle ich sie mal hier. Falls sie zu grundlegend sein sollten, gern ignorieren! Wenn ich es selber rauskriege mit dem dicken Handbuch, poste ich auch gern die gefundene Lösung. Am Ende haben dann hoffentlich auch andere als ich was davon, wenn sie auf solche Fragen stoßen.
Danke, die Lösung tut genau was sie soll, und ist leicht zu verstehen. Leichter als die Antwort, die ich als akzeptiert auswähle, weil ich mit der anderen gleich noch beschriften kann.
Die chains library, die auch die positioning library lädt, hält dafür eine interessante Lösung parat, die in vereinfachter Version als Beispiel auch im PGF/TikZ-Manual angegeben ist.
Der start chain-Key unterscheidet nämlich theoretisch vier mögliche Optionskombination.
Anstatt going kann man auch placed verwenden, das auch den ersten Node auf dem Chain beeinflust. Zusätzlicher wird in dem folgenden Text geprüft, ob ein Gleichheitszeichen = vorhanden ist. Ist dies der Fall, wird dieser Text wie er ist als Option für den Node verwendet, der on chain gesetzt wird. Hier haben wir Zugriff auch \tikzchaincount sowie den Node-Namen \tikzchainprevious.
Das einfache Beispiel aus dem Manual sie hier angegeben mit:
Ein Chain, der mit start chain=circle placed {nodes around center=45:10:Z:5em}, auch circle genannt ist (dies hat nichts mit dem Shape zu tun), platziert nun die on chain=circle gesetzten Nodes startend bei 45° im Abstand von 5em um Z (also Z.center). Der radiale Abstand ist dabei 36°.
Nodes können auch ebenfalls mit einer \foreach-Schleife gesetzt werden, falls sie gemeinsame Eigenschaften haben. Ein vollständiges Beispiel:
Ein kleiner Unterschied besteht aber immer noch zwischen dieser Platzierung und einer mithilfe positioning. Der Abstand 5em ist gemessen zwischen den center-Anchors der Nodes. Sofern nicht die on grid-Option gesetzt ist, platziert positioning die Nodes so, dass der Abstand zwischen ihren Borders (die mit draw gezeichneten Linien (und genaugenommen gehört outer seps da auch noch dazu)) 5em beträgt.
Geht man davon aus, dass das Zentrum als benannte Node (das kann auch eine benannte coordinate sein) angegeben ist, kann man dieses Verhalten mit einer kleinen Variation an dem nodes around center-Style auch simulieren. (Ich habe dafür die rotate-Option bei der 7-Node entfernen müssen.) Bei gleicher Argumenten sieht die Definition von nodes around center* dann folgendermaßen aus:
Code, hier editierbar zum Übersetzen:
1
2
3
4
5
6
\tikzset{
nodes around center*/.style args={#1:#2:#3:#4}{% gleiche Optionen wie oben
Sollte der Abstand (hier das letzte Argument, die 5em) automatisch von der angegebenen node distance stammen, ist etwas mehr Arbeit nötig; es ist aber ohne Problem machbar.
Wenn ich beim TikZ-Lernen und Grafiken-Erstellen auf Fragen stoße, stelle ich sie mal hier. Falls sie zu grundlegend sein sollten, gern ignorieren! Wenn ich es selber rauskriege mit dem dicken Handbuch, poste ich auch gern die gefundene Lösung. Am Ende haben dann hoffentlich auch andere als ich was davon, wenn sie auf solche Fragen stoßen.