
Estou tentando fazer análise de comportamento funcional com Tikz Mindmap onde preciso das seguintes unidades e conexões.
- símbolo de diamante - estritamente à esquerda
- símbolo de círculo - posicionamento preguiçoso
- conexões - setas simples e setas duplas entre um losango e círculos
- o posicionamento das conexões é estrito entre círculos e losangos
Termos
lazy
- posicione qualquer lugar no resultadogreedy
- posição em local específico, aqui no lado esquerdo (=mais à esquerda)left-most
- no lado mais esquerdo
Você pode ser preguiçoso ao colocar as posições dos círculos, mas os diamantes devem ser gananciosos na extremidade esquerda. Acho que a abordagem é muito gananciosa no tópicoPosicionando nós no Tikz abaixo à esquerdacom posicionamento explícito de todas as coisas.
O exemplo de código de 12 nós do threadTikz Mindmap – como obter mais nósonde apenas círculos, é um bom ponto de partida para colocar círculos preguiçosamente.
\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}
SO: Debian 8.7
Responder1
Não tenho ideia do que significa lazy
ou greedy
aqui.
A maneira mais fácil de colocar o diamante é desenhá-lo após o mapa mental.
\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}