Wie kann ich Kreise/Rauten/Pfeile in Tikz Mindmap verzögert und strikt positionieren?

Wie kann ich Kreise/Rauten/Pfeile in Tikz Mindmap verzögert und strikt positionieren?

Ich versuche, mit Tikz Mindmap eine funktionale Verhaltensanalyse durchzuführen, wobei ich die folgenden Einheiten und Verbindungen benötige.

  1. Rautensymbol - ausschließlich ganz links
  2. Kreissymbol - Lazy Positionierung
  3. Verbindungen - Einzelpfeile und Doppelpfeile zwischen Raute und Kreisen
  4. Die Positionierung der Verbindungen erfolgt streng zwischen Kreisen und Rauten

Bedingungen

  • lazy- Positionieren Sie das Ergebnis an beliebiger Stelle
  • greedy- Position an einer bestimmten Stelle, hier ganz links (=ganz links)
  • left-most- ganz links

Sie können bei der Festlegung der Positionen der Kreise nachlässig sein, aber die Rauten sollten ganz links gierig sein. Ich denke, der Ansatz ist im Thread zu gierigPositionierung von Knoten in Tikz unten linksmit expliziter Positionierung aller Dinge.

Das 12-Knoten-Codebeispiel des ThreadsTikz Mindmap - wie man mehr Knoten bekommtwo nur Kreise sind, ist ein guter Ausgangspunkt, um nach und nach Kreise anzuordnen.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}
\begin{tikzpicture}
   %% TODO
   % 1. Put a diamond at left most

   % 2. Make 12 circles lazily
   %https://tex.stackexchange.com/a/7520/13173
  \path[mindmap,concept color=blue,text=white,
    level 1 concept/.append style=
      {every child/.style={concept color=blue!70},sibling angle=-30}]
      node[concept] {\Huge\bfseries TikZ}[clockwise from=0]
        child foreach \i in {1,...,12} {node[concept]{\LARGE\bfseries\i}};

   % 3. Create connections between diamond and circles

\end{tikzpicture}
\end{document}

Betriebssystem: Debian 8.7

Antwort1

Ich habe keine Ahnung, was hier mit lazyoder gemeint ist greedy.

Die einfachste Möglichkeit, den Diamanten zu platzieren, besteht darin, ihn nach der Mindmap zu zeichnen.

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap,shapes.geometric,arrows.meta,positioning}
\begin{document}
% cwestiwn éo Léopold Hertz 준영: http://tex.stackexchange.com/questions/364288/how-to-do-lazy-and-strict-positioning-of-circles-diamonds-arrows-in-tikz-mindmap
\begin{tikzpicture}
   %http://tex.stackexchange.com/a/7520/13173
   \path
   [mindmap,
   concept color=blue,
   text=white,
   level 1 concept/.append style={every child/.style={concept color=blue!70}, sibling angle=-30}
   ]
   node [concept, font=\Huge\bfseries] {Ti\emph{k}Z}
   [clockwise from=0]
   child foreach \i in {1,...,12} {node (c\i) [concept, font=\LARGE\bfseries]{\i}};
   \node (d) [left=of c7, text width=50mm, fill, diamond, draw, magenta] {};
   \foreach \i [evaluate=\i as \j using {\i>6 ? -45-(12-\i)*15 : 55+\i*15}, evaluate=\i as \k using { \i>6 ? -90+(12-\i)*5 : 90-((\i-1)*5)} ] in {1,...,12} \draw [gray, ultra thick, -Latex] (d) [out=\k, in=\j] to (c\i);
\end{tikzpicture}
\end{document}

Diamant und Pfeile

verwandte Informationen