TikZ Mindmap: текст в узлах, нежелательно покрытый соединителями
Я создал карту ума (см. Ниже). Я обнаружил, что мой текст нежелательно покрыт соединителями. Есть ли способ поместить коннектор на слой ниже текста или текст на слое над коннектором? Я знаю, что могу обойти эту проблему, изменив размер узла, или размер шрифта, или угол брата. Но я предпочитаю текущий внешний вид, поэтому я не хочу менять ни один из параметров выше. Я просто хочу изменить слои. Есть ли способ сделать это?
\documentclass[12pt,twoside]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=green!80,
level 1/.append style={level distance=5cm, sibling angle=180},
level 2/.append style={level distance=3cm, sibling angle=90}]
\node{Gram positive bacteria}
child[concept color=orange!80]{ node{Firmicutes}
child{node{\textit{Listeria}}
}
child{node{\textit{Bacillus}}
}
child{node{\textit{Streptococcus}}
}
child{node{\textit{Enterococcus}}
}
}
child[concept color=purple!30,]{ node{Actinobacteria}
child{node{\textit{Streptomyces}}
}
child{node{\textit{Corynebacterium}}
}
child{node{\textit{Mycobacterium}}
}
}
;
\end{tikzpicture}
\end{document}
2 ответа
Один дешевый способ обойти проблему, описанную в вашем заголовке, - это вручную дефисировать текст локально, где это необходимо. В вашем случае вы можете изменить строки 27 (для согласованности), 30 и 32 вашего кода соответственно:
child[concept color=purple!30]{node{Actino\-bacteria}
...
child{node{\textit{Coryne\-bacterium}}
...
child{node{\textit{Myco\-bacterium}}
Я использовал дополнительный узел (mycobacterium
) написать текст после того, как карта мыслей была отрисована.
\begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=green!80,
level 1/.append style={level distance=5cm, sibling angle=180},
level 2/.append style={level distance=3cm, sibling angle=90}]
\node{Gram positive bacteria}
child[concept color=orange!80]{ node{Firmicutes}
child{node{\textit{Listeria}}
}
child{node{\textit{Bacillus}}
}
child{node{\textit{Streptococcus}}
}
child{node{\textit{Enterococcus}}
}
}
child[concept color=purple!30,]{ node{Actinobacteria}
child{node{\textit{Streptomyces}}
}
child{node{\textit{Corynebacterium}}
}
child{node (mycobacterium) {}
}
};
\node[extra concept,fill=none,draw=none] at (mycobacterium) {\textit{Mycobacterium}};
\end{tikzpicture}