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}

OS: 데비안 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}

다이아몬드와 화살

관련 정보