Have a look at this thread, there are both tikz and tikz-qtree solutions there; this turns out to be very simple to do once you know the trick. Here's Alan Munn's final solution from there adapted for your particular question. (I didn't bother to try to get the IPA right.)
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}
\begin{tikzpicture}[sibling
distance=10pt, level distance=20pt]
\Tree[.$\sigma$ [.A [Z ] ] [.R [.N e ] [.Co N ] ] ]
\end{tikzpicture}
\end{document}
The most recent release of PGF
has a number of graph drawing algorithms (requiring lualatex
) including a version of the Reingold–Tilford method and can easily handle large numbers of nodes.
In the simplest case a tree can be specified like this:
\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{graphs,graphdrawing,arrows.meta}
\usegdlibrary{trees}
\begin{document}
\begin{tikzpicture}[>=Stealth]
\graph[binary tree layout]{
a -> {
b -> {
c -> {
d -> { e, f },
g
},
h -> { i, j }
},
k -> {
l -> {
m -> { n, o },
p -> { q, r }
},
s -> {
v -> {w, x},
y -> {z}
}
}
}
};
\end{tikzpicture}
\end{document}
It is also possible to create "graph macros" which mean the graph specification can be created more-or-less automatically, even using lua
:
\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{graphs,graphdrawing,graphs.standard,arrows.meta}
\usegdlibrary{trees}
\begin{document}
\tikzgraphsset{%
levels/.store in=\tikzgraphlevel,
levels=1,
declare={full_binary_tree}{[
/utils/exec={
\edef\treenodes{%
\directlua{%
function treenodes(l)
if l == 0 then
return "/"
else
return "/ [layer distance=" .. l*10 .. "]-- {" .. treenodes(l-1) .. ", " .. treenodes(l-1) .. "}"
end
end
tex.print(treenodes(\tikzgraphlevel) .. ";")
}%
}
},
parse/.expand once=\treenodes
]}
}
\begin{tikzpicture}
\graph[binary tree layout, grow=down, sibling distance=5pt, significant sep=0pt, nodes={fill=red, draw=none, circle, inner sep=2.5pt, outer sep=0pt}]{
full_binary_tree [levels=7];
};
\end{tikzpicture}
\end{document}
Best Answer
Here's another option using
forest
to illustrate some other of its features:The result:
In this solution, the edges are curved so as to suggest a tree and the thickness of the branches automatically diminishes as the level increases; also, male and female persons are distinguished by selecting different attributes for their nodes (shape, filling); all this is done at the tree specification.
The
Helvet Neue
font used in my example can be downloaded fromrebba pocket
.