Antwort1
Eine weitere Alternative, da die Grafik sehr einfach ist, ist die Verwendung von 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}
Zu Ihrer Frage können Sie unter diesem Link die Art der Pfeile ändern: Ist es möglich, die Größe einer Pfeilspitze in TikZ/PGF zu ändern?
Unten ein neues Beispiel. Ich habe die Dicke eines Pfeils geändert.
\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}
Antwort2
Die TikZ-Graphbibliothek kann dies ganz einfach:
\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}
Wenn Sie möchten, dass das Diagramm kompakter ist, wie Ihr Bild, können Sie die Zweigbreite reduzieren. Da die Knotenanpassungen auch von dieser Breite abhängen, verwenden Sie am besten ein Makro wie dieses:
\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}
Antwort3
Auch mit einer Umgebung ist es ganz einfach psmatrix
:
\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}
Antwort4
Ein hastiger Versuch mit MetaPost und seinenboxes
Paket, in einem LuaLaTeX-Programm enthalten.
\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}
Es hätte sicherlich besser codiert werden können, wenn ich beispielsweise dasmetaobj
Paket, aber ich kenne es nicht gut genug.