# How to do lazy and strict positioning of circles/diamonds/arrows in Tikz Mindmap?

I am trying to do functional behaviour analysis with Tikz Mindmap where I need the following units and connections.

1. diamond symbol - strictly on the left-most
2. circle symbol - lazy positioning
3. connections - single arrows and double arrows between a diamond and circles
4. connections positioning is strict between circles and diamonds

Terms

• lazy - position any anywhere on the result
• greedy - position at specific location, here at the most left-hand-side (= left-most)
• left-most - at the most left-hand-side

You can be lazy in putting the positions of circles but the diamonds should be greedy at the left-most. I think the approach is too greedy on the thread Positioning Nodes In Tikz Below Left with explicit positioning of all things.

The 12-node code example of the thread Tikz Mindmap - how to get more nodes where only circles, is a good starting point for putting cirles lazily.

\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}


OS: Debian 8.7

• Sorry, but I have no idea what you are trying to do. What do you mean by lazy, greedy and left most? Why are you trying to use mindmap if you need diamonds? What have you tried exactly? See shapes.geometric for diamonds. Use name to name nodes. See arrows.meta for arrows. – cfr Apr 12 '17 at 0:22
• @cfr I think you understand very well me when I look at your answer. I added explicit definitions of those terms - I borrowed some of the therminology in data structures and algorithms. – Léo Léopold Hertz 준영 Apr 12 '17 at 4:49
• Why don't you just say 'I don't care where the circles go, but the diamond needs to be furthest left'? Introducing discipline-specific terms just makes your question harder to understand. – cfr Apr 13 '17 at 0:44

I have no idea what is meant by lazy or greedy here.

The easiest way to place the diamond is to draw it after the mind map.

\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}


• I bet that OP wants the thick, gradient color connection between diamond and circles – Symbol 1 Apr 12 '17 at 1:50
• @Symbol1 I wondered about that, but how would it work with arrows? – cfr Apr 12 '17 at 1:53
• @Symbol1 Can you give an example what you mean as your own answer? – Léo Léopold Hertz 준영 Apr 12 '17 at 4:44
• What is this inner structure surrounded by 12 circles called? Can it be just a circle? Can arrows point from the inner TikZ structure point to smaller circles? – Léo Léopold Hertz 준영 Apr 12 '17 at 4:45
• @LéoLéopoldHertz준영 That structure is called mindmap. – CarLaTeX Apr 12 '17 at 5:22