Respuesta1
Otra alternativa ya que la gráfica es muy sencilla usando tikz-cd
.
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsmath}
\begin{document}
\begin{tikzcd}
& & a & & \\
& b \arrow[ru] & & c \arrow[lu] & \\
d \arrow[ru] & & e \arrow[lu] \arrow[ru] & & f \arrow[lu]
\end{tikzcd}
\end{document}
Para tu pregunta puedes ver este enlace para modificar el tipo de flechas: ¿Es posible cambiar el tamaño de una punta de flecha en TikZ/PGF?
A continuación nuevo ejemplo. He modificado el grosor de una flecha.
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{arrows}
\usepackage{amsmath}
\begin{document}
\begin{tikzcd}
& & a & & \\
& b \arrow[-triangle 90,
line width=.8mm,ru] & & c \arrow[lu] & \\
d \arrow[ru] & & e \arrow[lu] \arrow[ru] & & f \arrow[lu]
\end{tikzcd}
\end{document}
Respuesta2
La biblioteca de gráficos TikZ puede hacer esto de manera muy simple:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs}
\begin{document}
\begin{tikzpicture}
\graph[branch right, grow down]
{a[x=1] <- {{b <- {d[x=-1],e}}, {c <- {e,f[x=1]}}}};
\end{tikzpicture}
\end{document}
Si desea que el gráfico sea más compacto, como su imagen, puede reducir el ancho de la rama. Dado que los ajustes de los nodos también dependen de ese ancho, es mejor usar una macro como esta:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs}
\newcommand*{\bw}{.5}
\begin{document}
\begin{tikzpicture}
\graph[branch right=\bw, grow down]
{a[x=\bw] <- {{b <- {d[x=-\bw],e}}, {c <- {e,f[x=\bw]}}}};
\end{tikzpicture}
\end{document}
Respuesta3
Fácil y sencillo también con un psmatrix
entorno:
\documentclass{article}
\usepackage{pst-node}
\usepackage{auto-pst-pdf} %% to compile with pdflatex --enable-write18 (MiKTeX) or pdflatex --shell-escape (TeX Live, MacTeX))
\begin{document}%
\begin{psmatrix}[rowsep=1cm, colsep=0.9cm]
& &[name=a] a \\
& [name=b] b & & [name=c] c \\
[name=d] d & & [name=e] e & & [name=f] f
\foreach \beg/\targ in {b/a, c/a, d/b, e/b, e/c, f/c}{\ncline[arrows=->, arrowinset=0.12, nodesep=3pt]{\beg}{\targ}}
\end{psmatrix}
\end{document}
Respuesta4
Un intento apresurado con MetaPost y suboxes
paquete, incluido en un programa LuaLaTeX.
\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\mplibtextextlabel{enable}
\begin{document}
\begin{mplibcode}
input boxes;
def junction(suffix a, b) =
drawarrow a.c -- b.c cutbefore bpath.a cutafter bpath.b;
enddef;
h := 1.25cm; v := 1cm;
beginfig(1);
forsuffixes z = a, b, c, d, e, f: circleit.z(str z); endfor;
e.c = origin; f.c = (h, 0) = - d.c;
b.c = (-.5h, v); c.c = (.5h, v);
a.c = (0, 2v);
drawunboxed(a, b, c, d, e, f);
junction (b, a); junction(c, a);
junction(d, b); junction(e, b);
junction(e, c); junction(f, c);
endfig;
\end{mplibcode}
\end{document}
Ciertamente podría haber sido codificado más eficientemente si hubiera usado, por ejemplo, elmetaobj
paquete, pero no lo conozco lo suficientemente bien.