Как сделать ленивое и строгое позиционирование кругов/ромбов/стрелок в Tikz Mindmap?

Как сделать ленивое и строгое позиционирование кругов/ромбов/стрелок в Tikz Mindmap?

Я пытаюсь провести функциональный поведенческий анализ с помощью Tikz Mindmap, для чего мне нужны следующие блоки и связи.

  1. символ ромба - строго слева
  2. символ круга - ленивое позиционирование
  3. соединения - одинарные стрелки и двойные стрелки между ромбом и кругами
  4. Расположение соединений строго между кругами и ромбами

Условия

  • lazy- расположить в любом месте результата
  • greedy- положение в определенном месте, здесь с самой левой стороны (=самый левый)
  • left-most- в самой левой части

Вы можете быть ленивы в размещении позиций кругов, но ромбы должны быть жадными слева. Я думаю, что подход слишком жадный на потокеРасположение узлов в Tikz внизу слевас явным позиционированием всех вещей.

Пример кода потока из 12 узловTikz Mindmap — как получить больше узловгде только круги, является хорошей отправной точкой для ленивого размещения кругов.

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

ОС: Debian 8.7

решение1

Я понятия не имею, что здесь подразумевается под lazy«или» greedy.

Самый простой способ разместить алмаз — нарисовать его после ментальной карты.

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

алмаз и стрелы

Связанный контент