我试图将 Rachel Brown 全部放在一行上,并在 Rachel Brown 下方 - 三个分支分别写着 Mary Brown、Laura Brown 和 Emma Brown。我还试图让年龄显示在每名姓名下方,例如 Hannah Brown 下方需要写上(年龄:23)等。非常感谢!
\documentclass{article}
\usepackage{tikz-qtree}
\begin{document}
\tikzset{edge from parent/.style=
{draw, edge from parent path={(\tikzparentnode.south)
-- +(0,-8pt)
-| (\tikzchildnode)}},
blank/.style={draw=none}}
\begin{tikzpicture}
\matrix
{
\node{\Tree
[.{Hannah Brown}
[.Rachel Brown ]]};\\
};
\end{tikzpicture}
\end{document}
答案1
要获得Rachel Brown
一行,请像 Hannah 一样操作,然后添加括号 ( {}
)。如果添加,every tree node/.style={align=center}
您可以使用\\
在节点中添加换行符,然后您可以使用Rachel Brown\\Age: 23
将年龄放在名称下方。要获得三个分支,您需要编写类似[ .root [ .{first branch}] [ .{second branch} ] [ .{third branch} ] ]
。请注意,每个分支都在定义根的一对括号内。
为了正确对齐中间的树枝,请将其添加minimum width=\widthof{Hannah Brown}
到every tree node
样式中。您也可以使用特定长度(例如 3 厘米)代替\widthof{the longest name in the family}
。
\documentclass{article}
\usepackage{tikz-qtree}
\begin{document}
\tikzset{edge from parent/.style=
{draw, edge from parent path={(\tikzparentnode.south)
-- +(0,-8pt)
-| (\tikzchildnode)}},
blank/.style={draw=none},
level distance=45pt}
\begin{tikzpicture}[every tree node/.style={align=center,minimum width=\widthof{Hannah Brown}}]
\Tree
[ .{Hannah Brown}
[ .{Rachel Brown\\Age: 23}
[ .{Mary Brown\\Age: 1} ]
[ .{Laura Brown\\Age: 2} ]
[ .{Emma Brown\\Age: 3} ] ] ]
\end{tikzpicture}
\end{document}