我用它tikz-qtree
来创建一个(水平)游戏树。虽然我设法在节点标签中创建了换行符,但这似乎不适用于边标签,请参阅下面的 MWE。因此,我的问题是:
- 如何在边标签中输入换行符?
- [已回答] 对于节点和边标签:如何
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}