% ------------------------------------------------------------------------------
% Copyright (c) 2010, 2020 Contributors to the Eclipse Foundation
%
% See the NOTICE file(s) distributed with this work for additional
% information regarding copyright ownership.
%
% This program and the accompanying materials are made available under the terms
% of the MIT License which is available at https://opensource.org/licenses/MIT
%
% SPDX-License-Identifier: MIT
% ------------------------------------------------------------------------------
\documentclass{article}
\usepackage{tikz}
\usepackage{verbatim}

\usepackage[paperwidth=40in, paperheight=20in]{geometry}

\usetikzlibrary{arrows, automata, positioning, shapes.geometric}
\begin{document}
\pagestyle{empty}

\definecolor{se-blue}{HTML}{D0D5FF}

\newcommand{\state}[2]{\begin{tabular}{@{}c@{}}#1\\#2\end{tabular}}

\begin{tikzpicture}[
  ->,>=stealth',auto,node distance=3.8cm,thick,
  every node/.style={font=\sffamily\small},
  every state/.style={draw=se-blue,thick,top color=white,ellipse,
                      bottom color=se-blue!75,initial text=},
  initial/.style={initial left},
  accepting/.style={accepting by arrow,accepting text=$\infty$},
  every edge/.style={draw=black!50}]

  \node[state, initial]   (s00) [            ] {first,    0.0};
  \node[state]            (s01) [right of=s00] {second,   0.0};
  \node[state, accepting] (s02) [right of=s01] {done,     0.0};

  \path[every node/.style={font=\sffamily\normalsize,outer sep=2pt}]
    (s00) edge[] node[] {\texttt{tau}} (s01)
    (s01) edge[] node[] {\texttt{tau}} (s02)
  ;

\end{tikzpicture}
\end{document}
