答案1
这是一个使用普通的解决方案tikz
:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[node distance=1.5cm]
% position the nodes a..d
\node (a) [] {$\textrm{I}$};
\node (b) [right of=a] {};
\node (c) [right of=b] {};
\node (d) [right of=c] {};
% draw the bullets/circles at the above defined positions
\draw (b) circle (5pt);
\filldraw (b) circle (1.5pt);
\filldraw (c) circle (1.5pt);
\draw (d) circle (5pt);
\filldraw (d) circle (1.5pt);
% draw arrows/connections, use 'shorten' to finetune space
\draw[->, shorten >=3pt, shorten <=-2pt] (a) -- (b) ;
\draw[->, shorten >=1pt, shorten <=3pt] (b) -- (c)
node [above=0pt, pos=0.5, font=\footnotesize]{$\varepsilon$};
\path[->, shorten >=3pt, shorten <=1pt, bend left]
(c) edge node [above=0., pos=0.5, font=\footnotesize]{$0$} (d) ;
\path[->, shorten >=1pt, shorten <=3pt, bend left]
(d) edge node [below=0., pos=0.5, font=\footnotesize]{$\varepsilon$} (c);
\end{tikzpicture}
\end{document}
我想代码应该比较清楚。如果有疑问,我还可以添加一些注释和解释。 更新:刚刚添加了一些评论。