I have one automata FSA as below.
I wish to customize the start arrow with a big dot, and keep the arrow 2pt to the target.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows,automata}
\def\dx{1cm} \def\dy{1.5cm}
\tikzstyle{state}=[draw,ellipse]
\newcommand{\newState}[4]{\node[state,#3](#1)[#4]{#2};}
\newcommand{\newTransition}[4]{\path[->] (#1) edge [#4] node {#3} (#2);}
\begin{document}
\begin{tikzpicture}[node distance=\dy and \dx,
>=latex,shorten >=2pt,shorten <=2pt,auto,
semithick %semithick, thick, thin semithick
]
\newState{S}{$SS$}{initial below,initial text={}}{}
\newState{q1}{$QQ1$}{right=of S}{}
\newState{q2}{$QQ2$}{below=of q1}{}
\newState{q3}{$QQ3$}{right=of q1}{accepting}
\newTransition{S}{q1}{aa}{}
\newTransition{q1}{q2}{bb}{bend left}
\newTransition{q2}{q1}{cc}{bend left}
\newTransition{q1}{q3}{dd}{}
\draw[<-] (S) -- node[midway,sloped,below,rotate=180] {start} ++(0,-\dy) [fill] circle (4pt);
\end{tikzpicture}
\end{document}
My question is:
- The start arrow didn't keep the 2pt distance from the target.
- Is this right way to draw such a big dot?
- The start text direction need to be rotate 180,is it right way to do it?
Output: