TikZ Mindmap:连接器不希望地覆盖节点中的文本

时间:2015-04-08 16:05:40

标签: latex layer connector 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}

enter image description here

2 个答案:

答案 0 :(得分:0)

绕过标题中描述的问题的一个廉价黑客是在必要时在本地手动连字。在您的情况下,您可以将第27行(为了保持一致性),30和32分别更改为:

child[concept color=purple!30]{node{Actino\-bacteria}

...

child{node{\textit{Coryne\-bacterium}}

...

child{node{\textit{Myco\-bacterium}}

答案 1 :(得分:0)

我使用了一个额外的节点(var sideBars = [SideBar]())来在渲染思维导图之后编写文字。

mycobacterium

enter image description here