1digraph G {
2  // leave some space for the head/taillabels
3  graph [ranksep=1.5 splines=true overlap=false]
4
5  // to avoid confusion, remember this:
6  // it's spelt tail/head, but it's read start/end
7
8  // put head/tail labels farther from the node
9  edge [labeldistance=3]
10
11  // not interested in node labels
12  node [shape=circle width=0.5 label=""]
13
14  {
15    edge [dir=back samehead=ahead samearrowhead=1]
16    a->Z [arrowtail=none taillabel=none]
17    b->Z [arrowtail=normal taillabel=normal]
18    c->Z [arrowtail=inv taillabel=inv]
19    d->Z [arrowtail=dot taillabel=dot]
20    e->Z [arrowtail=odot taillabel=odot]
21    f->Z [arrowtail=invdot taillabel=invdot]
22    g->Z [arrowtail=invodot taillabel=invodot]
23    h->Z [arrowtail=open taillabel=open]
24    i->Z [arrowtail=halfopen taillabel=halfopen arrowhead=inv headlabel=samehead]
25    j->Z [arrowtail=empty taillabel=empty]
26    k->Z [arrowtail=invempty taillabel=invempty]
27    l->Z [arrowtail=diamond taillabel=diamond]
28    m->Z [arrowtail=odiamond taillabel=odiamond]
29    n->Z [arrowtail=box taillabel=box]
30    o->Z [arrowtail=obox taillabel=obox]
31    p->Z [arrowtail=tee taillabel=tee]
32    q->Z [arrowtail=crow taillabel=crow]
33  }
34  {
35    edge [sametail=atail samearrowtail=1]
36    Z->A [arrowhead=none headlabel=none]
37    Z->B [arrowhead=normal headlabel=normal]
38    Z->C [arrowhead=inv headlabel=inv]
39    Z->D [arrowhead=dot headlabel=dot]
40    Z->E [arrowhead=odot headlabel=odot]
41    Z->F [arrowhead=invdot headlabel=invdot]
42    Z->G [arrowhead=invodot headlabel=invodot]
43    Z->H [arrowhead=open headlabel=open]
44    Z->I [arrowhead=halfopen headlabel=halfopen arrowtail=inv taillabel=sametail]
45    Z->J [arrowhead=empty headlabel=empty]
46    Z->K [arrowhead=invempty headlabel=invempty]
47    Z->L [arrowhead=diamond headlabel=diamond]
48    Z->M [arrowhead=odiamond headlabel=odiamond]
49    Z->N [arrowhead=box headlabel=box]
50    Z->O [arrowhead=obox headlabel=obox]
51    Z->P [arrowhead=tee headlabel=tee]
52    Z->Q [arrowhead=crow headlabel=crow]
53  }
54}
55