qtree 边缘标签中的换行符

qtree 边缘标签中的换行符

我用它tikz-qtree来创建一个(水平)游戏树。虽然我设法在节点标签中创建了换行符,但这似乎不适用于边标签,请参阅下面的 MWE。因此,我的问题是:

  1. 如何在边标签中输入换行符?
  2. [已回答] 对于节点和边标签:如何left在允许换行的同时保持对齐?

梅威瑟:

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}

\begin{document}
\begin{tikzpicture}[grow=right]
\tikzset{level distance=100pt, sibling distance=40pt, every tree node/.style={align=center,anchor=north}}
\Tree 
    [.A
        [.B
            \edge node[auto=right, near end]{line\\ break\\ does\\ not\\ work}; D
            C
        ]
        [.{line\\ break\\ works}
        ]
    ]
\end{tikzpicture}
\end{document}

在此处输入图片描述


编辑:至少对于第二部分,我似乎可以简单地设置align=left。我读到在本手册中必须将其设置为align=center。但是,第一个问题仍然存在。

答案1

您基本上回答了您自己的问题:只需添加align=left到节点选项,如

\edge node[align=left,auto=right, near end]{line\\ break\\ does\\ not\\ work};

要将其添加到所有节点,可以使用以下every node样式:

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}

\begin{document}
\begin{tikzpicture}[
   grow=right,
   level distance=100pt,
   sibling distance=40pt,
   every tree node/.style={anchor=north},
   every node/.append style={align=left}  % <-- added this
]
\Tree 
    [.A
        [.B
            \edge node[auto=right, near end]{line\\ break\\ does\\ work}; D
            C
        ]
        [.{line\\ break\\ works}
        ]
    ]
\end{tikzpicture}
\end{document}

相关内容