我怎样才能使 tikz daw 沿着图表的周长绘制一条曲线?

我怎样才能使 tikz daw 沿着图表的周长绘制一条曲线?

使用以下代码

\begin{tikzpicture}[scale=0.05,shorten >=0.25pt,node distance=1.4cm,on grid,auto] 
        \node[state,initial] (A)   {$A$}; 
        \node[state] (B) [right=of A] {$B$}; 
        \node[state] (C) [below right=of B] {$C$}; 
        \node[state] (D) [above right=of C] {$D$}; 
        \node[state] (E) [above right=of B] {$E$}; 
        \node[state] (F) [right=of D] {$F$}; 
        \path[->] 
        (A) edge node {$\epsilon$} (B)
        (B) edge node {1} (C)
        (B) edge node {0} (E)
        (C) edge node {$\e$} (D)
        (E) edge node {$\e$} (D)
        (D) edge node {$\e$} (F)
        (A) edge node {$\epsilon$} (B)
        (F) edge [bend left=120] node {$\epsilon$} (A);
    \end{tikzpicture}

我制作了以下图表:

在此处输入图片描述

我使用 bend-right 尝试将箭头从 $F$ 发送到 $A$,但箭头切过了 $C$(并且 luatex 抱怨“尺寸太大”)。

我希望实现类似于下图中从 $g$ 到 $s$ 的黄色箭头:

在此处输入图片描述

我应该尝试什么?

答案1

您的问题是使用scale=0.05。只需将其删除(其用途不明确),图像就会变成您想要的样子:

在此处输入图片描述

使用quotes库后,您的代码片段可以写成如下形式:

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{automata, positioning, quotes}

\begin{document}
    \begin{tikzpicture}[auto,
node distance=15mm, on grid]
\node[state,initial] (A)   {$A$};
\node[state] (B) [right=of A] {$B$};
\node[state] (C) [below right=of B] {$C$};
\node[state] (D) [above right=of C] {$D$};
\node[state] (E) [above right=of B] {$E$};
\node[state] (F) [right=of D] {$F$};
%
\path[->]   (A) edge ["$\epsilon$"] (B)
        (B) edge ["1" '] (C)
        (B) edge ["0"] (E)
        (C) edge ["$\epsilon$" '] (D)
        (E) edge ["$\epsilon$"] (D)
        (D) edge ["$\epsilon$"] (F)
        (A) edge ["$\epsilon$"] (B)
        (F) edge [bend left=90,"$\epsilon$"] (A);
    \end{tikzpicture}
    \end{document}

相关内容