
Estoy intentando hacer un análisis de comportamiento funcional con Tikz Mindmap donde necesito las siguientes unidades y conexiones.
- símbolo de diamante: estrictamente en el extremo izquierdo
- símbolo de círculo - posicionamiento perezoso
- conexiones: flechas simples y flechas dobles entre un diamante y círculos
- El posicionamiento de las conexiones es estricto entre círculos y diamantes.
Términos
lazy
- coloque cualquiera en cualquier lugar del resultadogreedy
- posición en un lugar específico, aquí en el lado más a la izquierda (=más a la izquierda)left-most
- en el extremo izquierdo
Puede que te dé pereza poner las posiciones de los círculos, pero los diamantes deben estar codiciosos en el extremo izquierdo. Creo que el enfoque es demasiado codicioso en el hilo.Posicionamiento de nodos en Tikz abajo a la izquierdacon posicionamiento explícito de todas las cosas.
El ejemplo de código de 12 nodos del hilo.Tikz Mindmap: cómo conseguir más nodosdonde solo hay círculos, es un buen punto de partida para poner círculos con pereza.
\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
Respuesta1
No tengo idea de lo que se entiende por lazy
o greedy
aquí.
La forma más sencilla de colocar el diamante es dibujarlo después del 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}