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}

введите описание изображения здесь

Другие вопросы по тегам