如何绘制自动机/图形

如何绘制自动机/图形

我是 LaTeX 新手。我该如何制作这个自动机?在此处输入图片描述

答案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}

这是输出: 在此处输入图片描述

我想代码应该比较清楚。如果有疑问,我还可以添加一些注释和解释。 更新:刚刚添加了一些评论。

相关内容