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