Some people seem to have trouble figuring out the best way to create high quality extensive game trees in LaTeX. I’ll admit that it took me a while to figure out, at first. There are lots of different packages that purport to do this sort of thing, but I have found TikZ to do the best job of any LaTeX based tool. The nice thing is that gaining a solid understanding of TikZ will let you create all sorts of fancy looking charts and pictures in your documents, as TikZ is a really versatile tool for creating all sorts of figures in LaTeX documents. There’s a great manual with everything you could ever want to know about TikZ, and also an excellent site with examples.

It might be a little intimidating if you aren’t used to this sort of thing, but its much easier to get a handle on than a package like pstricks, which is incredibly frustrating to get working with pdf output.

Anyway, an example follows. First, the output:

And the code to create this:

%Put this in your document preamble:
\usepackage{tikz}
\usetikzlibrary{trees}
%
%
%And then the actual code for creating the figure:
\begin{figure}
\begin{center}
% First, set the overall layout of the tree
% You might need to play with these sizes to ensure nothing overlaps.
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=2.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=2.5cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
% with each "child" representing a new level of the diagram
% each "node" represents a labelled (or unlabeled if you
% want) node in the diagram.
\node {1a}
child{
child{
%Put the name of the node in parenthesis for
% reference later. The label shown in the diagram
% goes in the brackets. This label can use math mode.
node(a){2}
child{
node{(0,0)}
%This allows us to attach a label to the
% edge between nodes. This label is just
% another node, so we can also name it and
% attach things to it.
edge from parent
node[left]{T}
}
child{
node{(2,2)}
edge from parent
node[right]{B}
}
%Invisible branch to make things align properly.
} child{edge from parent[draw=none] }
edge from parent
node[left]{L}
}
child{
node{1b}
child{
node(b){2}
child{
node{(0,0)}
edge from parent
node[left]{T}
}
child{
node{(0,0)}
edge from parent
node[right]{B}
}
edge from parent
node[left]{U}
}
child{
node(c){2}
child{
node{(1,1)}
edge from parent
node[left]{T}
}
child{
node{(2,2)}
edge from parent
node[right]{B}
}
edge from parent
node[right]{D}
}
edge from parent
node[right]{R}
};
%Now I create the information set. Note that I utilize the names
% that I had previously assigned to nodes in my graph
\draw [dashed](a)--(b);
\draw [dashed](b)--(c);
\end{tikzpicture}
\end{center}
\end{figure}