在Latex Tikz库中的节点文本中输入换行符

时间:2015-06-01 16:38:27

标签: latex tikz

我刚刚开始使用Latex生成数学文档。我想要包含概率树并找到Tikz库。我树的代码的第一位看起来像:

%To create probability trees, use tikz package
\usepackage{tikz}
\usetikzlibrary{trees}

% Insert a probability tree showing first level only
% -------------------------------------------------------------
% Set the overall layout of the tree
\tikzstyle{level 1}=[level distance=3.5cm, sibling distance=4.0cm]
\tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2cm]

% Define styles for bags and leafs
\tikzstyle{bag} = [text centered]

% Draw probability tree
\begin{tikzpicture}[grow=right, sloped]
\node[bag] {}
    child {
        node[bag] {Not diseased $\left( D^- \right)$}
            edge from parent 
            node[below]  {$0.90$}
    }
    child {
        node[bag] {Diseased $\left( D^+ \right)$}        
            edge from parent         
            node[above] {Prevalence}
            node[below]  {$0.10$}
    };
\end{tikzpicture} \\

生成的树看起来有点像这样:

             Diseased (D+)
           /
    Prev /
       / 0.10
     /
     \
       \
   0.90  \
           \
             Not diseased (D-)

......如果你得到我的漂移。

我希望能够在节点文本中输入换行符,以便(D +)和(D-)出现在下面。我尝试过使用\\和\ newline但无济于事。有什么建议吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

从您的代码开始,

\documentclass[multi=false,border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{trees}

\tikzstyle{level 1}=[level distance=3.5cm, sibling distance=4.0cm]
\tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2cm]

\tikzstyle{bag} = [align=center]

\begin{document}

\begin{tikzpicture}[grow=right, sloped]
\node[bag] {}
    child {
        node[bag] {Not diseased\\ $\left( D^- \right)$} %% 1
            edge from parent
            node[below]  {$0.90$}
    }
    child {
        node[bag] {Diseased\\ $\left( D^+ \right)$} %% 2
            edge from parent
            node[above] {Prevalence}
            node[below]  {$0.10$}
    };
\end{tikzpicture}

\end{document}

完成工作:请注意,我仅将\tikzstyle{bag}[text centered]更改为[align=center],并在标有\\%% 1的行中添加了%% 2

结果树:

output pdf

答案 1 :(得分:0)

取自Tikz Qtree documentation

  

在Qtree中,允许在节点内使用换行符(\\)。 TikZ节点默认情况下不允许这样做,但是align选项(在PGF / TikZ 2.1版或更高版本中)使它成为副作用。

     

感谢Alan Munn弄清楚了这一点。在PGF / TikZ 2.1版之前,解决方法是使用选项text width=2em,text centered